0

私は、国を選択してドロップダウンリストを作成しています。状態のドロップダウンリストは、JavaScriptを使用して動的に入力されます

<div id="ddlState" class='selectBox'>                   
    <span class='selected' id="StatesID">Select a State</span> 
    <span class='selectArrow'>&#9660</span>                         
    <div class="selectOptions" id="stateSelectOption">               
        <span class="selectOption" id="ddlStateText" >Select a State</span>                
    </div>
</div>

国をクリックすると、コードが以下のように州が入力されます

$('#CountriesID').click(function () {
    var items;
    $('#CountriesID').removeClass("input-validation-error");
    if (!$("select#CountriesID").val() == "Select a Country") {
        document.getElementById("disableasterisk9").style.display = "";
    }
    else {
        document.getElementById("disableasterisk9").style.display = "none";
    }
    var countryid = $('#CountriesID').text();

    $.getJSON(
        "@Url.Action("StateList1", "UserRegistration")" + '/' + countryid, 
        function (data) {                  
            var items = "<span id='ddlStateText'  class='selectOption'>Select a State </span>";
            $.each(data, function (i, state) {
                items += "<span id='ddlStateText' value='" + state.Value + "' class='selectOption'>" + state.Text + "</span>";
            });                  
            $('#stateSelectOption span').html(items);
        }
    );
});

リストにはデータが入力されていますが、選択が適切に機能していません。すべての状態項目が 1 つの span タグにレンダリングされているため、任意の要素を選択すると、すべてのリストが選択されます。

個々の要素を選択する必要があります

4

1 に答える 1

0

この行のコードでわかることは、スパン内に html を追加していることです。

$('#stateSelectOption span').html(items)

行は次のようになります (スパンではなく div 内にコードが挿入されます)。

$('#stateSelectOption').html(items)

jsfiddle でテストしました: http://jsfiddle.net/uz2vf/

于 2012-12-05T14:55:47.230 に答える