Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 获取第二个列表框的选定值_Javascript_Jquery - Fatal编程技术网

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

我正在学习JavaScript。基本上,我想实现的是,当我选择品牌时,它将只显示该特定品牌的型号列表框。您能帮助我如何获取所选第二个列表的值吗

<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();

}