2014-04-17 50 views
2

我需要在提交表單後爲下拉菜單設置selectedindex = 0。 我嘗試像下面。如何重置HTML中選定的索引下拉值?

$("#filterByName").prop('selectedIndex', 0); 
$("#filterByName").selectedIndex=0; 
$("#filterByName").get(0).selectedindex=0; 

但我無法達到目標。請告訴我如何在提交表單後重置下拉菜單。編輯: $('#filterByName')[0] .selectedIndex .in我得到選擇索引value.after提交點擊我設置$('#filterByName')[0] .selectedIndex = 0然後此聲明沒有設置顯示索引0點擊event.assigning後,但爲什麼在用戶界面不顯示?

<span id="filterByNames"><%= Html.DropDownList("filterByName", new SelectList(Model.Names, "Name", "Name", Model.Name), 
           new { onchange = "filterByName()" }) %></span> 

請檢查我的代碼,讓我知道如何重置按鈕單擊後下拉選定的索引?

+0

請告訴我我的問題沒有解決。就像上面我試過但下拉指數沒有重置。 – user3494837

回答

2

HTML:

<select id="test"> 
    <option value="1">Test</option> 
    <option value="2">Test2</option> 
</select> 

jQuery的

$('#test').val("2") 

這裏是一個Fiddle DEMO

http://jsfiddle.net/z9hte/1

你的情況做

像這樣:

$("#filterByName").val("0"); 
+0

這在概念上是錯誤的。如果我們有多個選擇並且每個選項在第一個選項中都有不同的值會怎樣您的解決方案將無法工作。 –

2

後的形式,你可以使用這樣

$('#submit').click(function(){ 

// after submit code 

$('#filterByName option:selected').attr('selectedIndex',0); 
return false; 
}); 
+1

no .i無法使用上述 – user3494837

+0

$('#filterByName option:selected')重置下拉選定值。attr('selectedIndex',0);試試這個,假設選擇下拉列表有id filterByName – lampdev

+0

這是不工作 –

-1

的提交只要你可以這樣做

$("#filterByName").val(0); 
-1

試試這個

$("#ddlList option:first-child").attr("selected","selected"); 

Demo: Fiddle

+0

不工作....檢查這個http://jsfiddle.net/6d27w/1/ –

0

您可以使用下面的代碼重置所有選擇。

$('form select').each(function() { 
    $(this).find('option').removeAttr('selected'); 
    $(this).find('option:first').attr('selected','selected'); 
}); 
相關問題