创建msDropdown插件后是否可以禁用选项?
我更好地解释了我的问题。 我想用图标,文本和其他一些东西将html放入每个选项中,所以首先我创建一个空选择然后我用添加函数添加每个选项:
dropdown.add({text:$price.html(), value:'normal', className:'normal'});
问题是,如果发生某种情况,我必须禁用一个选项,但无法通过使用插件设置来设置禁用选项。
在调用 msDropdown 功能之前,可以通过将相关参数disabled=disabled
设置为选择来禁用选项,但我可以我不得不使用这个解决方案,因为我必须将 html 放入选项文本中。
还有其他办法吗?
感谢您的帮助。
答案 0 :(得分:1)
我找到了解决方案。
我创建了我的选择空,我像以前一样用添加函数填充每个选项,但是当这种情况发生时,只需执行此操作:
var dropdown = $('select[name="priceType"]').msDropdown().data("dd");
if(credits_error) { // option must be disabled
dropdown.destroy(); // Make it a simple select
$('select[name="priceType"] option').attr('disabled', 'disabled');
dropdown = $('select[name="priceType"]').msDropdown().data("dd");
}
首先我通过调用 destroy 函数将其设为简单的 select ,然后我正确设置disabled属性并创建一个新的 msDropdown select 强>
它对我有用,我在IE,FF和Chrome上进行了测试
答案 1 :(得分:0)
是的,这是可能的。可以使用选项标记的disabled
属性来完成:
<select id="payments" name="payments" style="width:250px;">
<option value="" data-description="Choos your payment gateway">Payment Gateway</option>
<option value="amex" data-image="http://www.marghoobsuleman.com/mywork/jcomponents/image-dropdown/samples/images/msdropdown/icons/Amex-56.png" data-description="My life. My card...">Amex</option>
<option value="Discover" data-image="http://www.marghoobsuleman.com/mywork/jcomponents/image-dropdown/samples/images/msdropdown/icons/Discover-56.png" data-description="It pays to Discover...">Discover</option>
<option value="Mastercard" data-image="http://www.marghoobsuleman.com/mywork/jcomponents/image-dropdown/samples/images/msdropdown/icons/Mastercard-56.png" data-title="For everything else..." data-description="For everything else...">Mastercard</option>
<option value="cash" data-image="http://www.marghoobsuleman.com/mywork/jcomponents/image-dropdown/samples/images/msdropdown/icons/Cash-56.png" data-description="Sorry not available..." disabled="true">Cash on devlivery</option>
<option value="Visa" data-image="http://www.marghoobsuleman.com/mywork/jcomponents/image-dropdown/samples/images/msdropdown/icons/Visa-56.png" data-description="All you need...">Visa</option>
<option value="Paypal" data-image="http://www.marghoobsuleman.com/mywork/jcomponents/image-dropdown/samples/images/msdropdown/icons/Paypal-56.png" data-description="Pay and get paid...">Paypal</option>
</select>
选项'cash'将被禁用。
这是一个工作小提琴:http://jsfiddle.net/NKQRj/1/
EDIT 在第二个示例中,使用以下命令从JSON数据加载数据:
$("#payments").msDropDown({byJson:{data:jsonData, name:'payments2'}}).data("dd");
填写元素。
您可以使用disabled: true
属性
{image:'http://www.marghoobsuleman.com/mywork/jcomponents/image-dropdown/samples/images/msdropdown/icons/Cash-56.png', description:'Sorry not available...', value:'cash', text:'Cash on devlivery', disabled:true},
这是一个工作小提琴:http://jsfiddle.net/NKQRj/3/