jquery相关的下拉框填充
如下面的场景所示,我有依赖下拉框。 任何人都可以请建议如何使用JQuery / Javascript实现结果?
场景:
HH1:
<select name="drop1">
<option value="0">
<option value="2">
<option value="3">
......
<option value="23">
</select>
HH2:
<select name="drop1">
<option value="0">
<option value="2">
<option value="3">
......
<option value="23">
</select>
编辑:对不起,我忘了提及选项项目正在通过JavaScript填充(for循环)。 我只需要知道如何根据HH1选择的值使HH2动态化。
如果用户在选项HH1(小时)中选择3,我想只显示3-0(其中0为24小时),请在HH2中选择选项。 我不想看1-2。
基本上,HH2依赖于HH1中的选定值 - 这是可能的JavaScript? 如果可能的话,你可以告诉我怎么做?
var drop2 = $("select[name=drop2] option"); // the collection of initial options
$("select[name=drop1]").change(function(){
var drop1selected = parseInt(this.value); //get drop1 's selected value
$("select[name=drop2]")
.html(drop2) //reset dropdown list
.find('option').filter(function(){
return parseInt(this.value) < drop1selected; //get all option with value < drop1's selected value
}).remove(); // remove
});
http://jsfiddle.net/HTEkw/
简短的回答是可以在JavaScript / Jquery中使用。
你可以像这样定义你的依赖关系在一个全新的HTML5数据属性:-)
这样的HTML:
HH1:
<select name="drop1">
<option value="0" data-shown="0,2">00</option>
<option value="2" data-shown="2,3">02</option>
<option value="3" data-shown="3,23">03</option>
<option value="23" data-shown="23,0">23</option>
</select>
HH2:
<select name="drop2">
<option value="0">00</option>
<option value="2">02</option>
<option value="3">03</option>
<option value="23">23</option>
</select>
和Javascript(JQuery)是这样的:
$('select[name="drop1"]').change(function () {
var ar = $('select[name="drop1"] option:selected').attr('data-shown').split(',');
$('select[name="drop2"] option').each(function(){
$(this).toggle(false);
for(var i = 0; i <= ar.length; i++){
if($(this).attr('value') == ar[i]){
$(this).toggle(true);
}
}
});}).trigger('change');
这应该做你想在你的下拉菜单上完成的事情。
有了你在评论中的条件,它会更容易一些:
$('select[name="drop1"]').change(function () {
var number = parseInt($('option:selected', this).attr('value'));
$('select[name="drop2"] option').each(function(){
$(this).toggle(parseInt($(this).attr('value')) >= number);
});
}).trigger('change');
/这是JavaScript代码/
function fndroplist(listindex) {
$("#ddlCity").options.length("");
switch (listindex) {
case "Karnataka":
$("#ddlCity").options[0] = new Option("--select--", "");
$("#ddlCity").options[1] = new Option("Dharawad", "Dharawad");
$("#ddlCity").options[2] = new Option("Haveri", "Haveri");
$("#ddlCity").options[3] = new Option("Belgum", "Belgum");
$("#ddlCity").options[4] = new Option("Bijapur", "Bijapur");
break;
case "Tamilnadu":
$("#ddlCity").options[0] = new Option("--select--", "");
$("#ddlCity").options[1] = new Option("Chennai", "Chennai");
$("#ddlCity").options[2] = new Option("Vijayada", "Vijayada");
break;
}
}
</script>
<body>
<div>
<p>
<label id="lblCt">
City:</label>
<select id="ddlCity" style="width: 142px;">
<option>--Select--</option>
</select>
<span class="red">*</span>
<label id="lblCity" style="color:Red; font-size:small;">
</label>
</p>
</div>
<div>
<p>
<label>
Country:</label>
<input type="text" id="txtCountry" />
<label id="lblCountry" style="color:Red; font-size:small;">
</label>
</p>
</div>
</body>
链接地址: http://www.djcxy.com/p/83925.html
上一篇: Jquery dependent drop down boxes populate
下一篇: How to set the default value of a select box using JQuery in IE9?