1

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

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

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/

谢谢,

马丁

4

2 回答 2

2

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

您应该为将要使用 msDropDown 插件class的元素添加属性。<select>然后像这样初始化插件,您分配这些元素的类名$('select.yourClass').msDropDown(); 在哪里。选择器中的部分是多余的。yourClass<select>body

这样,jQuery 只会将插件应用到<select>用你的类名“标记”的元素,而不是所有元素,这样你就可以使用其他“正常”<select>元素而不会受到干扰。

希望我能帮到你。

于 2011-03-24T12:18:07.047 回答
1

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

  1. 将不希望设置为图像组合框样式的选择元素指定为 aclassid. 然后将:not() 选择器与您的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   
    
于 2011-03-24T12:31:48.543 回答