根据其他选择更改选择选项



我最近一直在尝试Php和CodeIgniter,并创建了一个简单的项目来进行订单。现在,在订单表单上有一些选项,用户可以从下拉菜单中选择他/她想要的内容。我设法显示了数据库中的可用选项,现在我想做的是,当用户从其中一个下拉菜单中选择一个选项时,下一个显示选项的下拉菜单中的一个仅与该选择关联。

例如,更具体地说,用户将购买一部手机,首先他应该选择品牌,比如三星,现在下一个下拉列表应该只显示三星的型号,而不是其他品牌的型号。

到目前为止,我所做的是,当用户选择品牌时,我会在下一个下拉菜单中选择该品牌的型号,但如果他点击更多选项,那么所有品牌的所有型号都将可用。

我已经用javascript做到了这一点。

{
if(x == 1)
{ 
id_mentese = 1; 
}
$('#model option:selected').removeAttr('selected');
$('#model').find('option[value='+id_model+']').attr("selected","selected");
thistext=$('#model option:selected').text();
$('.form-control').find('button[data-id="model"]').attr("title",thistext);
$('button[data-id="model"]').find('.filter-option').text('').text(thistext);
}

其中x是品牌的id

知道怎么做吗?此外,如果我能做到,如果用户不选择品牌,那么模型dopdown就不应该是活动的。提前谢谢。

HTML

<select id="brand">
<option value="none">-- Select a brand --</option>
<option value="samsung">Samsung</option>
<option value="htc">HTC</option>
</select>
<select id="cat" style="display:none;">
</select

JS-

var models = [
["A","C","M","J","H"],
["htc1","htc2","htc3"]
]; //load this from database
$("#brand").change(function(){
var ind = $("#brand option:selected").index();
if(ind == 0){
$("#cat").hide();
}else{
$("#cat").empty();
$.each(models[ind + 1], function(key) {
$("#cat").append($("<option></option>").attr("value", key).text(key));
});
}
});

相关内容

  • 没有找到相关文章

最新更新