首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何禁用带有msdropdown插件的选项

如何禁用带有msdropdown插件的选项
EN

Stack Overflow用户
提问于 2013-02-15 16:51:15
回答 2查看 4.6K关注 0票数 1

在创建了一个msDropdown插件之后,可以禁用一个选项吗?

我能更好地解释我的问题。我希望在每个选项中添加html,包括图标、文本和其他内容,所以首先创建一个空的select,然后使用添加函数添加每个选项:

代码语言:javascript
复制
dropdown.add({text:$price.html(), value:'normal', className:'normal'});

问题是,如果发生某种情况,我必须禁用一个选项,但没有办法设置一个选项禁用使用插件设置。

只有将相关参数disabled=disabled设置为select才能禁用选项,以调用msDropdown函数,但我不能使用该解决方案,因为我必须将into放入选项文本中。

还有别的办法吗?

谢谢你的帮助。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-02-16 02:24:07

我找到了解决办法。

我创建了select空选项,并像以前一样使用add函数填充每个选项,但是当发生这种情况时,只需这样做:

代码语言:javascript
复制
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");
}

这样,首先通过调用破坏函数使其成为一个简单的选择,然后正确设置禁用的属性,并创建一个新的msDropdown选择

它对我有用,我在IE,FF和Chrome上测试了它

票数 1
EN

Stack Overflow用户

发布于 2013-02-15 17:15:56

是的,很有可能。这可以通过使用选项标记的disabled属性来完成:

代码语言:javascript
复制
<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>

“现金”选项将被禁用。

下面是一个有用的小提琴:http://jsfiddle.net/NKQRj/1/

在第二个示例中,使用以下方法从JSON数据中加载编辑:

代码语言:javascript
复制
$("#payments").msDropDown({byJson:{data:jsonData, name:'payments2'}}).data("dd");

来填充元素。

您可以使用disabled: true属性将您的选项定义为禁用JSON数据:

代码语言:javascript
复制
{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/

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14899447

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档