【问题标题】:How to remove a JavaScript initialisation?如何删除 JavaScript 初始化?
【发布时间】:2011-03-24 10:34:08
【问题描述】:

我想要实现的是第二个下拉列表,根据第一个下拉列表的选择填充值。

我已经使用以下方法让它工作:

http://jsfiddle.net/ydPfH/6/

问题是我用来在下拉列表中显示图像的外部插件以某种方式阻止此代码正常工作。

初始化这个插件的代码是$("body select").msDropDown();,我在使用这个插件的简单搜索表单下面是一个jquery可扩展的div,所以你点击Advanced Search用动态下拉菜单展开表单。

<a href="#" rel="toggle[advancedsearch]" data-openimage="images/collapse.png" data-
closedimage="images/expand.png">Advanced Search<img id="expand" 
src="images/collapse.png"/>   </a> 
<div id="advancedsearch">
<p>Document Properties:</p>
<form>
<select id="tags" name="tags" class="tags">
etc....

我希望的是某种 onclick 或者更容易调用另一个 JS 方法来以某种方式删除 $("body select").msDropDown(); 初始化,或者甚至初始化一些愚蠢的东西,然后将其删除。

如果有帮助,可以在此处查看页面的完整源代码:http://jsfiddle.net/pQ9LT/

谢谢,

马丁

【问题讨论】:

    标签: javascript jquery jquery-plugins conflict conflicting-libraries


    【解决方案1】:

    如果我做对了,这就是答案:

    您应该将class 属性添加到将要使用您的msDropDown 插件的&lt;select&gt; 元素。然后像这样初始化插件$('select.yourClass').msDropDown(); 其中yourClass 是您分配给这些&lt;select&gt; 元素的类名。 选择器中的 body 部分是多余的。

    这样,jQuery 只会将插件应用到用你的类名“标记”的&lt;select&gt; 元素,而不是所有这些元素,因此你可以使用其他“普通”&lt;select&gt; 元素而不会受到干扰。

    希望我能帮到你。

    【讨论】:

    • 非常感谢汤姆,你不知道我有多么感激 - 我可以想象尝试向局外人提出我的问题是多么困难。你是明星!
    【解决方案2】:

    我不完全清楚您的总体要求是什么,什么可能或可能不可接受,所以我有一些想法。

    1. 为您希望设置为图像组合框样式的选择元素指定classid。然后将:not() selector 与您的msDropdown 初始化结合使用

      $("body select:not('.nostyle')").msDropDown(); //using the class 'nostyle' to filter out the elements that should get the image combobox 
      
    2. 在初始化调用中使用更具体的选择器;这和上面的有点相反

      $("body select.classOfSelectsTobeStyled").msDropDown(); //using the class 'classOfSelectsTobeStyled' on elements that should get the image combobox   
      

    【讨论】:

    • 非常感谢您的回答和您的时间。我先尝试了你的答案,但它似乎对我不起作用,但我确实学到了一些新东西,谢谢,我真的很感激。
    • 很高兴能提供帮助。我意识到我的脚本中有一个错误 - 在第二个建议中 select.classOfSelectsTobeStyled 之间有一个空格(这与 Tom 之前建议的几乎相同)。空格会更改选择器以查找具有该类的 select 元素的后代。没有空格,它会选择 body 的后代,它们是 select 标签 并且 具有类 .classOfSelectsToBeStyled
    猜你喜欢
    • 2017-11-02
    • 2021-01-20
    • 2019-08-01
    • 2017-01-04
    • 2015-12-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-28
    相关资源
    最近更新 更多