0

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 で alert(id) を実行すると、メッセージ ボックスで値を確認できます。あらゆるアドバイスを歓迎します。ありがとう

4

2 に答える 2

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

于 2013-04-05T19:34:44.190 に答える