2011-05-30 44 views
3

我需要從FilteringSelect中刪除所有選項的幫助。的選擇刪除dijit.form.FilteringSelect中的所有選項

HTML代碼:

 <select id="kat" dojoType="dijit.form.FilteringSelect" style="width:170px; height: 22px;" name="form[kategorija]"> 
      <option value="izbira">Izberi...</option> 
      <?php 
      $rezKat = $tabelaKategorij->dobiVseKategorije(); 
      foreach($rezKat as $rowKat): 
    echo '<option id="optkat" value="'.$rowKat['id'].'">'.$rowKat['ime_kategorije'].'</option>';       
endforeach; 
     ?> 
     </select> 

刪除所有選項

function izbrisiSeznam() 
{ 
    var j; 
    for (j = dojo.byId("kat").length - 1; j>=0; j--) 
    { 
     dojo.byId("kat").remove(j); 
    } 
} 

當我調用該函數的功能..

$(document).ready(function() { 
    izbrisiSeznam(); 
}); 

那麼完美。但是,當我嘗試在onSuccess中調用函數然後不識別selecet。

實施例:

function dodajKategorijo() 
    { 
      var ime_kategorije = $('#ime_kategorije').val(); 
      if(ime_kategorije!= '') 
      { 
        $.ajax({ 
         type: "GET", 
         url: "<?php echo constant('REL_PATH'); ?>/admin/dodajkategorijo/", 
         dataType: 'json', 
         data: 
         { 
          id: ime_kategorije 
         }, 
         success: function(data) { 

          var vsebina = ''; 
          vsebina = '<div id="kategorija'+data.id+'" class="form-field clear">'+ 
             '<label for="'+data.ime_kategorije+'" class="form-label size-80 fl-space2">&nbsp;</label>'+ 
             '<input disabled value="'+data.ime_kategorije+'" type="text" id="'+data.id+'" class="required size-140 text fl" name="form[naslov]" />'+ 
             '<a href="javascript:void:(0)" onClick="izbrisiKategorijo('+data.id+')"><img src="<?php echo constant('REL_PATH'); ?>/images/button/delete.png" class="gumbek" alt="" /></a>' 
             '</div>'; 

          $('#nalozene_kategorije').append(vsebina); 

          izbrisiSeznam(); 
         } 
        }); 
        return true; 
       } 
       else 
       { 
        alert('Vnesti morate ime kategorije'); 
        return false; 
       } 
    } 

回答

-1

幾件事情,

1)dojo.byId( 「吉」)應dijit.byId( 「吉」)

2)我認爲有沒有刪除方法過濾選擇。

3)刪除您可以使用這個

dijit.byId('kat').dropDown.destroy() 

感謝

+0

這不只是清除列表,它殺死它意味着你不能再添加選項.. – Lloyd 2013-06-12 15:16:46

8

要刪除您篩選所有選項全部選項中進行選擇:

dijit.byId('kat').removeOption(dijit.byId('kat').getOptions()); 

在道場1.7.2爲我工作

0

以下是如何以編程方式刪除所有選項。指定一個新的空白商店。然後將該值設置爲空白。

 // Define it programatically: 
     _cellsSelect = new dijit.form.FilteringSelect({ 
      id : "cells" + _instance, 
      store : cellStore, 
      searchAttr : "name" 
     }); 

     // Clear it: 
     _cellsSelect.store = new dojo.store.Memory({ 
       data : [ { 
        name : '', 
        id : '' 
       } ] 
      }); 
     _cellsSelect.set('value', ''); 
1

下對我的作品(道場1.8.3):

var node = document.getElementById("MY_SELECT_ID"); 
while (node.firstChild) node.removeChild(node.firstChild); 

這是非的jQuery版本的答案被user2243420

0

我們可以設置一個空數組到過濾選擇小部件存儲。

dijit.byId('widgetId').store.data.splice(0,dijit.byId('widgetId').store.data.length); 

或簡單地說,

dijit.byId('widgetId').store.data = []; 

或者你可以設置自己的店爲空。 (但是,在添加新選項之後,您需要重新創建商店,然後再添加新選項)。

dijit.byId('widgetId').store = null; 
相關問題