1

更新後に選択ボックスのオプションをクリアするにはどうすればよいですか... 2つの選択ボックスがあり、更新後に両方の値がクリアまたはリセットされませんでしたコードイグナイターで作業していますここに私のコードです。

    <?php echo form_dropdown('cat_id', $records2, '#', 'class="cho" id="category"');?>


 <script type="text/javascript">// 
 $(document).ready(function(){       
    $('#category').change(function(){        
        $("#items > option").remove(); //it is not working
        var category_id = $('#category').val();  
        $.ajax({
            type: "POST",
            url: "testController/get_items/"+category_id,

            success: function(items)
            {
                $.each(items,function(item_id,item_name) 
                {
                    var opt = $('<option />'); 
                    opt.val(item_id);
                    opt.text(item_name);
                    $('#items').append(opt); 
                });
            }

        });

    });
});
// ]]>

4

4 に答える 4

1

それ以外の

$("#items > option").remove(); //it is not working

これを試して

$("#items).html("");

ここにあなたのための簡単なjsFiddleがあります

アップデート:

また、アイテムを順番に追加するのではなく、最初にオプション マークアップを作成してから一度に置き換えることを検討することもできます。

$("#category").change(function(){        
    var category_id = $("#category").val();  
    $.ajax({
        type: "POST",
        url: "testController/get_items/" + category_id,
        success: function(items)
        {
            var options = "";
            $.each(items, function(item_id, item_name) 
            {
                options += "<option value=\"" + item_id + "\">" + item_name + "</option>";
            });
            $("#items").html(options);
        }
    });
});
于 2013-01-12T18:26:25.497 に答える
1

試す

 $("#items").empty();

empty()メソッドはすべてのhtmlをクリアします

API リファレンスhttp://api.jquery.com/empty

于 2013-01-12T18:28:06.417 に答える
0
$('#items')
    .find('option')
    .remove()
    .end();

IE6

$('#items')
    .empty();
于 2013-01-12T18:24:49.990 に答える
0

document.ready イベント ハンドラには何もありません。すべてが $('#category').change(function(){ 内に含まれており、ページの更新時に何も起こらないことを意味します。

于 2013-01-12T18:34:43.560 に答える