如果我选择第二个下拉框,如何获得第一个下拉框值
问题描述:
下面是我已经动态创建两个下拉列表的代码。如果我选择第二个下拉列表,我希望获得第一个下拉列表选定的值。如果我选择第二个下拉框,如何获得第一个下拉框值
下面是HTML:
<div class="selct_drp_dwn" id="row1">
<select class="drop_dwn_mult" id="name1" onchange="changeBox2(this);">
<option>Sample1</option>
<option>Sample2</option>
<option>Sample3</option>
<option>Sample4</option>
</select>
<select class="drop_dwn_mult1" id="name1" onchange="changeBox3(this);">
<option>Please select</option>
<option>sam</option>
</select>
<i class="fa fa-minus-square remove" aria-hidden="true"></i>
<i class="fa fa-plus-square" aria-hidden="true" id="btnAdd"></i>
</div>
下面是jQuery的我想:
function changeBox3(val1)
{
var a = val1.id;
alert(a);
var c = '#'+a;
var b = $(c).closest('select .drop_dwn_mult option:selected').val();
alert(b);//I am getting undefined
}
答
问题是与最接近的方法。它应该是:
.closest('.selct_drp_dwn')
,然后你会发现选择:
.find('.drop_dwn_mult').not(val1).find('option:selected')
考虑到这一点,你仍然可以短您的代码:
function changeBox3 (val1)
{
var a = $(val1); // <- you passed `this` to val1 which is already a reference
// to the element, thus not need to find the id
var b = a
.closest('.selct_drp_dwn')
.find('.drop_dwn_mult')
.not(val1)
.find('option:selected')
.val();
alert(b);
}
另一个问题:ID必须是唯一的,您有重复的name1
。
感谢它的工作正常..我会改变ID – saminathan
很高兴听到:) –
嗨Guedes ..我还有一个问题,如果我有一个提交按钮,一旦得到提交如何我会从两个选定的值作为单一值下拉 – saminathan