2015-10-06 76 views
3

我有一個下拉的MVC如何刷新下拉時點擊使用jQuery選擇?

@Html.DropDownList(
    "Name", 
    new SelectList(Model.Product, "Value", "Text"), 
    string.Concat("-- ", "Please select the item", " --"), 
    new { id = "Product", Class = "form-control" } 
) 

我填寫下拉動態。它工作正常。一切正常。當我更改項目時,我執行的操作是使用jquery onchange方法並刷新下拉列表。但是當用戶點擊「請選擇項目」時,我想刷新下拉菜單。當我點擊請選擇onchange方法不被調用。我怎麼能做到這一點?

$DropDown.on("change", function() { 


      //Here i perfome action 
     }); 
+0

你的onchange代碼在哪裏? – nowhere

+0

我添加的問題,請檢查它 – Hiba

+0

所以每次點擊或更改你想刷新?或者只是第一次點擊,然後每次更改? – BenG

回答

0

您可能想提取「onchange」函數以重用它。這樣

var changeCallback = function(e) { 
    // chage logic 
} 
$("#dropdownlistname").on("change", changeCallback); 
$("#dropdownlistname").on("click", changeCallback); 
+0

它工作正常。感謝很多。 – Hiba

0
$(document).ready(function(){ 

    $('#dropdownlistname').change(function(e){ 
     // Your event handler 
    }); 

    // And now fire change event when the DOM is ready 
    $('#dropdownlistname').trigger('change'); 
}); 

更多信息Here

編輯

你應該提供一個選擇的on功能:

$(document).on('change', 'input', function() { 
    // Does some stuff 
}); 

在這種情況下,它會按照您預期。這裏是Fiddle使用on函數

+0

如我的答案中所示,您必須在調用'trigger()'或甚至'change()'之前聲明change事件處理程序,也就是說,如果事件處理程序代碼在調用之後出現,則什麼都不會發生! – Webruster

+0

Onchange工作正常,但是當我點擊請選擇,它不會調用 – Hiba

+0

請參閱'console'中的任何錯誤? – Webruster

0

user2052156的答案東西看起來不錯,但如果你想「點擊」只發生在第一時間,那麼你可以在第一次調用後刪除單擊處理: -

$DropDown.on('click change', function(){ 

    //Here i perfome action 

    $(this).off('click'); 
}); 

Fiddle

相關問題