我有点坚持一个 - 大概很容易解决问题。
我想创建将用于网站上所有选择元素的代码。
根据分配给“选项”的“标签”属性,我想隐藏所有其他“div”元素,这些元素的类与此特定“选择”菜单中“选项”的其他“标签”值相同。
让我演示一下:
<select class="sel_depend" id="reg_where_heard" name="where_heard">
<option value="">Select one…</option>
<option value="1">Google</option>
<option value="2">Yahoo</option>
<option value="3" label="where_heard_magazine">Magazine</option>
<option value="4" label="where_heard_other">Other</option>
</select>
<div class="where_heard_magazine dn">
<input type="text" name="magazine" id="magazine" value="" />
</div>
<div class="where_heard_other dn">
<input type="text" name="other" id="other" value="" />
</div>
现在 - 菜单下的 div 中的“dn”类只分配了“display:none”。
根据所选选项 - 如果它的值为 3 - 我希望与要显示的标签具有相同类的 div - 那么如果我选择值为 4 的选项 - 所有其他 div(其中类名将从所有选项填充)这个选择元素)应该隐藏()并且只选择显示()。
我不太确定如何将特定“选择”元素的所有“选项”元素放入数组中。
然后大概我可以使用each()语句循环它并找出它们是否有“标签”,如果有的话-隐藏与它的值匹配的类的元素。
然后在循环之后,我可以显示具有与所选“选项”的“标签”参数值匹配的类的元素。
知道如何实现这一目标吗?
给与特定选择相关的所有 div 一个作为该元素名称的类。那么你可以这样做:
$('.sel_depend').change(function(){
var class = $(this).attr('name');
$('.' + class).hide();
var divToShowClass = $(this).find(':selected').attr('label');
$('.' + divtoShowClass).show();
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)