2017-02-09 43 views
-6

我想在我的MVC項目的相同視圖中爲某些DropDownListFor使用JavaScript Id。但它適用於其中之一。我需要做些什麼來解決我的問題?不適用於多個元素的java腳本

代碼在一個觀點:

@Html.DropDownListFor(model => model.MemberInstance.MemberType_Id, new SelectList(Model.MemberTypeList, "Id", "Title"), new { @id = "demo-select2-1", @class = "form-control" }) 
@Html.DropDownListFor(model => model.SurgeryInstance.SurgeryType_Id, new SelectList(Model.SurgeryTypeList, "Id", "SurgeryTitle"), new { @id = "demo-select2-1", @class = "form-control" }) 

這只是第一DropDownListFor而不是其他工作。

+0

[ID](HTTPS使用它的多個元素://開發商.mozilla.org/en/docs/Web/HTML/Global_attributes/id)是爲了獨特的元素。你應該使用[class](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Classes) –

+0

請詳細描述使用類 –

+3

這只是一個基於我理解的簡單想法從你的問題。但你的問題對我來說根本不明確。我建議你編輯它添加一些(格式良好)的代碼,並更好地解釋你的問題,使我們更容易理解。 –

回答

0

首先,我發現Java腳本部分使用id =「演示select2- 1「,然後我重新定義與新名稱相同的功能,並在其他DropDownListFor中使用新的ID:

@Html.DropDownListFor(model => model.MemberInstance.MemberType_Id, new SelectList(Model.MemberTypeList, "Id", "Title"), new { @id = "demo-select2-1", @class = "form-control" }) 
@Html.DropDownListFor(model => model.SurgeryInstance.SurgeryType_Id, new SelectList(Model.SurgeryTypeList, "Id", "SurgeryTitle"), new { @id = "demo-select2-a", @class = "form-control" }) 

而且Java腳本函數是

function r() { 
    var b = a("#demo-select2-1"); 
    b.select2({ 
     dir: "rtl" 
    }) 
} 

和我的新功能是

function r1() { 
    var b = a("#demo-select2-a"); 
    b.select2({ 
     dir: "rtl" 
    }) 
} 

我也可以用同樣的方式

0

爲了能夠適用於幾個元素必須在這種情況下Select2Demo

@Html.DropDownListFor(m=>m.First,new SelectList(Model.MemberTypeList, "Id", "Title"), new {@class="Select2Demo"}) 

@Html.DropDownListFor(m=>m.Second,new SelectList(Model.MemberTypeList, "Id", "Title"), new {@class="Select2Demo"}) 

@Html.DropDownListFor(m=>m.Third,new SelectList(Model.MemberTypeList, "Id", "Title"), new {@class="Select2Demo"}) 

使用類Selct2

$(".Select2Demo").select2({ placeholder: "Select a member" });