2013-01-12 55 views
0

如何在清除後清除選擇框的選項...我有兩個選擇框,並且刷新後兩個值都沒有清除或重置 我是在代碼點火器中工作 這裏是我的代碼。在JQuery/Ajax中刷新後清除或重置下拉菜單選項

<?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); 
       }); 
      } 

     }); 

    }); 
}); 
// ]]> 

回答

0
$('#items') 
    .find('option') 
    .remove() 
    .end(); 

IE6

$('#items') 
    .empty(); 
+0

告訴我我寫這行的位置嗎? – user1972143

+0

第一行內改變事件匿名函數 – MuhammadHani

0

而不是

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

試試這個

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

Here是簡單的jsfiddle你

UPDATE:

你也可以考慮建立你選擇先標記,然後更換一次,而不是按順序追加項目。

$("#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); 
     } 
    }); 
}); 
+0

我在哪裏寫這行?在準備好功能或更改功能後? – user1972143

+0

工作非常感謝 – user1972143

+0

不客氣,如果是你正在尋找的答案,請考慮將其標記爲已接受 – peterm

1

嘗試

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

empty()方法將清除所有的HTML

API參考​​

+0

我在哪裏調整或在我的代碼中寫下這一行,因爲如果我在ready函數後面寫入,它將變空,但是在選擇第一個選擇框的選項之後,它什麼也不做,如果我在更改函數之後寫入,它不起作用,那麼 – user1972143

+0

處理程序代碼..不確定爲什麼'$(「#items> option」)。remove();'不起作用...而'empty()'是要替換它。他們的'optgroup'標籤?如果是這樣的話,刪除'''會讓你的'remove'工作 – charlietfl

+0

nope他們注意到..我在代碼點火器工作,我使用這個<?php echo form_dropdown('cat_id',$ records2,'#',' class =「cho」id =「category」');?> – user1972143

0

沒有什麼的的document.ready事件處理程序。所有內容都包含在 $('#category')。change(function(){意思是頁面刷新時不會發生任何事情

+0

那我該怎麼辦?你是說所有的價值在那裏都保持不變? – user1972143

+0

我現在很忙。如果你沒有得到答案,我希望今晚能給你一個答案。 –

相關問題