问问题
1433 次
4 回答
1
尝试这个
jQuery(document).ready(function ($) {
$('.bar').hide();
$('[id*="foo"]').change(function () {
$('.bar').hide();
$('#'+$(this).val()).show();
})
});
还要记住,页面中的ID应该是唯一的。
您可以使用属性 contains selector * 或只是将相同的类添加到所有选择。
于 2013-02-13T18:28:14.987 回答
1
更新 JSFiddle:http: //jsfiddle.net/t7cSg/5/
这可能不是最好的解决方案,因为一旦插件更新,您将需要记住进行此更改,但是,也许您可以为该短代码结果提供一个类。
例如:
<select id="foo1" class="foos">
<option value="option0">Please select a module to download</option>
<option value="option1">Module 1</option>
<option value="option2">Module 2</option>
</select>
<div id="option1" class="bar" style="display: none;"><a href="#">download M1</a></div>
<div id="option2" class="bar" style="display: none;"><a href="#">download M2</a></div>
<select id="foo2" class="foos">
<option value="option0">Please select a module to download</option>
<option value="option1">Module 110</option>
<option value="option2">Module 220</option>
</select>
<div id="option3" class="bar" style="display: none;"><a href="#">download M110</a></div>
<div id="option4" class="bar" style="display: none;"><a href="#">download M220</a></div>
<select id="foo3" class="foos">
<option value="option0">Please select a module to download</option>
<option value="option1">Module 110</option>
<option value="option2">Module 220</option>
</select>
<div id="option5" class="bar" style="display: none;"><a href="#">download M110</a></div>
<div id="option6" class="bar" style="display: none;"><a href="#">download M220</a></div>
和你的 jQuery 一样:
jQuery(document).ready(function ($) {
$('.bar').hide();
$('.foos).change(function () {
$('.bar').hide();
$('#'+$(this).val()).show();
})
});
我希望这有效/有帮助
于 2013-02-13T18:31:18.547 回答
0
难道你不能给出你想使用一个类的选择(例如 foo),然后只针对它吗?
$('.bar').hide();
$('.foo').change(function () {
$('.bar').hide();
$('#' + $(this).val()).show();
})
于 2013-02-13T18:27:34.990 回答
0
尝试这个:
jQuery(document).ready(function ($) {
$('.bar').hide();
$('#foo1').change(function () {
$('.bar').hide();
$('[id="'+$(this).val()+'"]').show();
});
});
笔记:
id
单个文档上的多个元素不允许相同。如果仅发生这种情况,它将被执行。
于 2013-02-13T18:31:39.190 回答