使用jquery选择下拉列表值

时间:2013-04-05 19:21:39

标签: c# javascript jquery asp.net drop-down-menu

我正在尝试使用jquery设置下拉列表的值。 我从网站上尝试了一些解决方案,但它们都不适用于我的解决方案。 这就是我所拥有的:

$(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)时,我可以看到消息框中的值。 欢迎提出建议。 感谢

2 个答案:

答案 0 :(得分: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的有效值。

答案 1 :(得分:0)

我有一个类似的解决方案,我几天前已经实现了。 可能有用。我使用带有值的HTML表格,但您可以使用页面的任何控件。

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

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

    }
});

希望得到这个帮助。