2011-05-07 51 views
1

我需要在選擇列表中禁用一些選項後,我已經動態添加選項。需要幫助綁定添加選項來選擇列表

從另一個列表中選擇一個項目時,我的選擇列表是動態構建的。
該列表是在PHP中創建的,然後使用$.ajax調用返回到我的javascript。 一旦選項添加到我的列表中,我需要遍歷選項並禁用某些選項。

我可以添加選項,但我無法禁用特定的選項。我認爲這是因爲選項不綁定到DOM(或類似的東西)。

這是我現在使用的代碼:

// HTML 
<select id='selectlist_store' name='selectlist_store' size='6' multiple='multiple'></select> 


// Javascript 
// Populate store multi-select list 
jQuery('#selectlist_city').live('change', function(){ 
    populateStoreListBox(jQuery(this).val(), function(list) { 
    // Add options to list 
    jQuery('#selectlist_store').html(list); 
    // Disable specific element 
    jQuery('#selectlist_city option [value=56]').attr('disabled','disabled'); 
    }); 
}); 


function populateStoreListBox(country_id, callback){ 
    jQuery.ajax({ 
    url: (...), 
    data: (...), 
    dataType: 'html', 
    success: (function(city_list) { 
     callback(city_list); 
    }) 
}); 

我需要什麼,以禁用一些選項來執行我添加了之後呢?

一種解決方案可能會返回一個JSON而不是HTML,然後遍歷數組並動態構建我的新選項列表並禁用我想要禁用的選項。

但有沒有另一種方式?

回答

1

您需要[

jQuery('#selectlist_city option[value=56]').attr('disabled','disabled'); 

http://jsfiddle.net/pYBqm/

+0

哈刪除空間!這很簡單。謝謝哥們! – Steven 2011-05-07 21:42:52