Javascript 获取第二个列表框的选定值
我正在学习JavaScript。基本上,我想实现的是,当我选择品牌时,它将只显示该特定品牌的型号列表框。您能帮助我如何获取所选第二个列表的值吗Javascript 获取第二个列表框的选定值,javascript,jquery,Javascript,Jquery,我正在学习JavaScript。基本上,我想实现的是,当我选择品牌时,它将只显示该特定品牌的型号列表框。您能帮助我如何获取所选第二个列表的值吗 <select id="txtBrand"> <option value="HP" id="HP">HP</option> <option value="Dell">Dell</option> <option value="Toshiba">Toshiba&l
<select id="txtBrand">
<option value="HP" id="HP">HP</option>
<option value="Dell">Dell</option>
<option value="Toshiba">Toshiba</option>
</select>
<br> <strong>Model:</strong>
<select id="txtHPModel">
<option value="HP">HP Pavilion</option>
<option value="Dell">HP Elitebooks</option>
<option value="Toshiba">HP Probooks</option>
</select>
<select id="txtDellModel" hidden="hidden">
<option value="HP">Dell Vostro</option>
<option value="Dell">Dell Inspiron</option>
<option value="Toshiba">Dell Latitude</option>
</select>
<select id="txtToshibaModel" hidden="hidden">
<option value="HP">Toshiba Portege</option>
<option value="Dell">Toshiba Tecra</option>
<option value="Toshiba">Dell Satellite</option>
</select>
$(compbrand).click(function () {
if (compbrand.value == "HP") {
$(hp).removeAttr('disabled').show() $(dell).attr('disabled', 'disabled').hide();
$(toshiba).attr('disabled', 'disabled').hide();
}
if (compbrand.value == "Dell") {
$(dell).removeAttr('disabled').show() $(hp).attr('disabled', 'disabled').hide();
$(toshiba).attr('disabled', 'disabled').hide();
}
if (compbrand.value == "Toshiba") {
$(toshiba).removeAttr('disabled').show() $(hp).attr('disabled', 'disabled').hide();
$(dell).attr('disabled', 'disabled').hide();
}
});
</script>
惠普
戴尔
东芝
型号:
HP Pavilion
惠普精英电子书
惠普Probooks
戴尔商用成就
戴尔Inspiron
戴尔纬度
东芝波特奇
东芝Tecra
戴尔卫星
$(compbrand)。单击(函数(){
如果(compbrand.value==“HP”){
$(hp).removeAttr('disabled').show()$(dell).attr('disabled','disabled').hide();
$(东芝).attr('disabled','disabled').hide();
}
如果(compbrand.value==“戴尔”){
$(dell).removeAttr('disabled').show()$(hp).attr('disabled','disabled').hide();
$(东芝).attr('disabled','disabled').hide();
}
如果(compbrand.value==“东芝”){
$(东芝).removeAttr('disabled').show()$(hp.attr('disabled','disabled').hide();
$(dell).attr('disabled','disabled').hide();
}
});
您可以使用更改事件处理程序,在该处理程序中,您可以基于选定的值设置模型可见性
还为所有模型选择图元指定一个公共类,以便于选择
$('#txtBrand')。更改(函数(){
var$current=$('#txt'+this.value+'Model').show();
$('.txt模型')。不是($current.hide();
})
惠普
戴尔
东芝
型号:
HP Pavilion
惠普精英电子书
惠普Probooks
戴尔商用成就
戴尔Inspiron
戴尔纬度
东芝波特奇
东芝Tecra
戴尔卫星
$(“#txtBrand”)。更改(功能(){
})) compbrand应该是什么?并且没有
隐藏的属性;而是使用CSS显示/隐藏:display:none
。我认为compbrand是$(“#txtBrand”)@DavidThomas,因为ID被复制为窗口属性。。那应该是work@Arun:如果您的意思是使用id
作为变量名应该有效:是的,我知道-尽管我认为这是一个糟糕的想法,不应该鼓励。但是没有一个元素的id
等于“compbrand”。此外,虽然我怀疑梅尔瓦斯是正确的,但我更愿意让OP花时间来澄清。假设会导致糟糕的代码。而且,关于您自己的代码,以及我自己的原始评论,没有(有效的)hidden
property/attribute。很抱歉造成混淆。是的,combrand是$(“#txtBrand”),感谢Arun提供了简洁的代码。我将如何获取所选模型的值并将其传递给变量?@JessieBear您希望如何获取数据?我需要品牌和模型的值。我正在SharePoint列表项中添加数据。
// IYour HTML Change "hidden="hidden" TO style="displayn:none"
var brand= this.value;
if (brand== "HP") {
$('#txtHPModel').fadeIn();
$('#txtDellModel').fadeOut();
$('#txtToshibaModel').fadeOut();
} else if(brand== "Dell") {
$('#txtHPModel').fadeOut();
$('#txtDellModel').fadeIn();
$('#txtToshibaModel').fadeOut();
}else{
$('#txtHPModel').fadeOut();
$('#txtDellModel').fadeOut();
$('#txtToshibaModel').fadeIn();
}