2013-04-05 103 views
0

我想用jquery設置dropdownlist的值。 我試過網站上的一些解決方案,但沒有一個適用於我的解決方案。 這是我有:用jquery選擇dropdownlist值

$(document).on("click", ".open-EditContract", function() {    
      var id = $(this).data('id'); 
       $('#<%=ddlTsaIdEdit.ClientID%>').val(id);     
      $('#editContract').modal('show'); 
     }); 

另外在後臺我有代碼填充在Page_Load事件下拉:

Dictionary<string, string> dict = new Dictionary<string, string>();   
      dict.Clear(); 
      dict = util.TsaIdForContract(Convert.ToInt32(Request.QueryString[0]));  
      ddlTsaIdEdit.DataSource = dict; 
      ddlTsaIdEdit.DataTextField = "Value"; 
      ddlTsaIdEdit.DataValueField = "Key"; 
      ddlTsaIdEdit.DataBind(); 
      ddlTsaIdEdit.Items.Insert(0, new ListItem("-- Select TSA ID --", "0")); 

我在其中觸發模式彈出GridView的動作顯示:

<asp:TemplateField HeaderText="Edit"> 
         <ItemTemplate>               
          <a style="text-decoration:none;" class="btn btn-info open-EditContract" data-id='<%#Eval("ID") %>' href="#"><i class="icon-edit icon-white"></i></a>           
         </ItemTemplate> 
        </asp:TemplateField>  

設置爲文本框的值工作只是與方法,但不是下拉菜單很好,所以我希望有人給他們的建議。 另外,我可以看到源中的值,並且當我在JS中提醒(id)時,我可以看到消息箱中的值。 歡迎提供任何建議。 感謝

回答

0

添加此功能:

function SetDropDownList(ddl, value) { 
    var a = document.getElementById(dropdownlist); 
    for (i = 0; i < a.length; i++) { 
     if (a.options[i].value == value) { 
      a.selectedIndex = i; 
     } 
    } 
} 

而設置的下拉值是這樣的:

var id = $(this).data('id'); 
SetDropDownList('<%=ddlTsaIdEdit.ClientID %>', id) 

這總是對我的作品。同時請確保您獲得id的有效值,方法是發出提醒或登錄console.log

+0

不適合我,同樣的事情:/我可以看到警報命令的價值@ Will.i.am – Laziale 2013-04-05 19:52:30

+0

看起來像dropdowlist或其他問題。不能說很多不考慮aspx和cs代碼... – 2013-04-05 19:56:15

+0

更新:它適用於Firefox但不適用於Chrome – Laziale 2013-04-05 20:01:46

0

我有一個類似的解決方案,我已經實施了幾天前。 可能會有用。我用一個HTML表格來處理它的值,但是你可以使用任何你的頁面控件。

$("#GridViewProducts").find('tbody > tr').each(function() { 
    if ($(this).find('#SequenceNumber').text() == SequenceNumber) { 

     $('[id*="DropDownListProductDetailCountry"]').val($(this).find('#CountryId').text()); 

    } 
}); 

希望得到這個幫助。