-1

ボタンのあるページがあり、ユーザーがそのボタンをクリックすると、新しい「選択タグ」が表示されます

その新しいselectにはクラス「セレクター」があり、その呼び出しにはjQuery呼び出しがありますが、起動しません

htmlコード

<ul id="ul">
    <li>
        <select class='selector'></select>
        <input type='button' value='new select' id='newSelect'/>
    </li>
</ul>​

jQuery コード

$(document).ready(function (){
    var options = "<option>Select Name</option>";
    options +="<option>Roma</option>";
    options +="<option>Milano</option>";
    $('#ul .selector').html(options);
});
$(document).ready(function(){
    $('#ul').on('click','#newSelect',function(){
        $('#ul').append("<li><select class='.selector'></select></li>");
    });
});

<a href="http://jsfiddle.net/Wiliam_Kinaan/puUcp/12/" rel="nofollow">こちらのコードを確認してください

4

3 に答える 3

2

次の行のドットを削除する必要があります。

$('#ul').append("<li><select class='.selector'></select></li>");  

$('#ul').append("<li><select class='selector'></select></li>");  

最初のように選択リストに入力したくない場合は、次のように行うことができます:
http://jsfiddle.net/puUcp/19/

于 2012-05-21T10:32:56.443 に答える
2

新しい要素を追加するたびに、最初に選択された要素 (既に存在する) を複製する必要があるようです。これは次のようになります

$(document).ready(function(){
    $('#ul').on('click','#newSelect',function(){
        $('#ul').append($("#ul > li:first-child").clone());
    });
});

実際に見てください

ただし、 --を持つボタンが含まれており、s は DOM 内で一意である必要があるため、上記を正確に行うべきではありません。ボタンから を削除すると、問題が解決します。$("#ul > li:first-child")ididid

于 2012-05-21T10:36:23.107 に答える
1

実際、セレクターへの入力はドキュメントの読み込み時にのみトリガーされ、ドットは新しい選択クラスから削除され、セレクターはオンクリックで入力される必要があります。したがって、新しいコードは次のようになります。

$(document).ready(function (){
    var options = "<option>Select Name</option>";
    options +="<option>Roma</option>";
    options +="<option>Milano</option>";
    $('#ul .selector').html(options);

    $('#ul').on('click','#newSelect',function(){
        $('#ul').append("<li><select class='selector'></select></li>");
        $('#ul .selector').html(options);
    });
});
于 2012-05-21T10:36:18.763 に答える