2011-05-07 84 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