我有一个jquery代码,它根据之前选择的下拉值来更改。 当我有两个下拉菜单并且它完美无缺时,我会使用它。
现在问题是我正在处理3个下拉菜单,我无法根据3个下拉列表修改代码(因为我是jquery的新手)。
这是代码:
Jquery的:
jQuery(function(){
var $cat = $('select[name=coursename]'),
$items = $('select[name=semno]');
$cat.change(function(){
var $this = $(this).find(':selected'),
rel = $this.attr('rel'),
$set = $items.find('option.' + rel);
if ($set.size() < 0) {
$items.hide();
return;
}
$items.show().find('option').hide();
$set.show().first().prop('selected', true);});});
我使用了两个下拉菜单, coursename 和 semno ,使用此代码,它完全正常。
现在我想在 semno 之后添加另一个下拉列表 subnm 。 所以我真正想要的是,当一个人在 coursename 中进行特定选择时,相关项目应出现在 semno 中以及相关项目中,当选择一个值时,项目列在 subnm 上。
我在选项元素中使用了rel和class。
HTML代码
Course:
<select name="coursename" id="coursename">
<option value="xyz" rel="xyz">XYZ</option>
<option value="abc" rel="abc">ABC</option>
</select>
Semester:
<select name="semno" id="sem">
<option value="one" class="xyz">I</option>
<option value="two" class="xyz">II</option>
<option value="three" class="abc">III</option>
</select>
Subject:
<select name="subnm" id="subnm">
<option value="p">p</option>
<option value="q">q</option>
<option value="r">r</option>
</select>
我想我需要在 semno 下拉列表中使用rel选项,然后根据 semno subnm 下拉列表 em> rel。
如果我不是100%易于理解,请原谅我。我是这个网站的新手,我真的需要帮助。
提前谢谢你!
答案 0 :(得分:0)
希望这是你想要的。我为第二个select
菜单使用了相同的更改事件功能。
$items.change(function(){
var $this = $(this).find(':selected'),
rel = $this.attr('rel'),
$set = $third.find('option.' + rel);
if ($set.size() < 0) {
$third.hide();
return;
}
$third.show().find('option').hide();
$set.show().first().prop('selected', true);
});
此外,我已在第一个select
的{{1}}事件处理程序中触发了第二个change
的更改事件。
select
请参阅此fiddle