2013-02-26 57 views
0

我有一些json被加載到li.ui-state-default等待用戶輸入。empty()然後運行函數的其餘部分

用戶可以輸入一個新條目。我希望它每次加載新條目時都清空li.ui-state-default但它似乎只是保持空白。

//data for DOM 
var timeout = ''; 
$('.call-json').keyup(function() { 
    clearTimeout(timeout); 
    var val = this.value; 
    timeout = setTimeout(function() { 
     $('.ui-state-default').empty(); 
     $.getJSON('json/' + val + '.json', function (data) { 
      // load data 

      var items = []; 
      for (key in data[0].attributes) { 
       if (key.match('.stat.prop.type')) { 
        items.push(data[0].attributes[key]) 
       } 
      }; 

      displaySortLabel(items, "type-details"); 

     function displaySortLabel(items, parentClass) { 
       $('<span/>', { 
        'class': 'el-data', 
        html: items.join('') 
       }).hide().fadeIn().appendTo('.' + parentClass + ' .sort-label'); 
      } 
+1

它似乎並不像你曾經追加什麼'UI狀態,default'再次 – 2013-02-26 04:14:54

+0

添加了額外的代碼顯示如何被追加。 – ndesign11 2013-02-26 04:24:08

+0

我仍然沒有看到'ui-state-default',除非你把它清空 – 2013-02-26 04:24:44

回答

0

通過使用.appendTo('.' + parentClass + ' .sort-label')因爲它搜索一個.sort-label爲存在該parentClass變量內不會工作追加到li.ui-state-default

確保在試圖追加時有正確的選擇器。

此外,你不需要hide()fadeIn()

$('<span/>', { 
    'class': 'el-data', 
    html: items.join(''), 
    'css': { 
     'display': none 
    }   
}).fadeIn().appendTo('.' + parentClass + ' .sort-label'); 
+0

我也嘗試過。沒有工作 – ndesign11 2013-02-26 04:28:00

+0

這不是問題,你的選擇器似乎是錯誤的。 – Starx 2013-02-26 04:29:45

相關問題