Struts-JQuery禁用下拉选项基于选择不同的下拉
Struts-JQuery Disable drop down option based on a selection of a different drop down
在我的JSP中,我有一个包含多个下拉项的表单。这是一个使用struts-tags声明的表单。
在这个表单上,我想要禁用一个下拉菜单的一个或多个选项,基于同一表单上另一个下拉菜单的选择。
这里有一个简单的例子来演示。这就是我对下拉列表的编码方式。
<s:select id="vehicleType" name="vehicleType" list="#{'0': 'Truck','1':'Sedan'}"
<s:select id="vehicleList" name="vehicleList" list="#{'0':'Ford F150','1':'Dodge Ram','2':'Honda Accord','3':'Nissan Altima'}"
如果我从"车辆类型"下拉列表中选择"卡车",我想从"车辆列表"下拉列表中禁用"本田雅阁"answers"日产Altima"。如果我从"车辆类型"下拉列表中选择"轿车",我想从"车辆列表"下拉列表中禁用"福特F150"answers"日产Altima"。
试试下面的代码来禁用这些选项:
$("#vehicleType").on('change', function() {
var vlist = $("#vehicleList");
vlist.find('option').prop('disabled', false);
if (this.value === "0") {
vlist.find('option[value="2"]').prop('disabled', true);
vlist.find('option[value="3"]').prop('disabled', true);
}
else if (this.value === "1") {
vlist.find('option[value="0"]').prop('disabled', true);
vlist.find('option[value="1"]').prop('disabled', true);
}
});
演示:http://jsfiddle.net/mfd13w6u/
尝试如下:
function resetVehicleList(vehicleType)
{
$('#vehicleList option').show();
if($(vehicleType).val() == '0')
{
$('#vehicleList option[value="2"]').hide();
$('#vehicleList option[value="3"]').hide();
}
else if($(vehicleType).val() == '1')
{
$('#vehicleList option[value="0"]').hide();
$('#vehicleList option[value="1"]').hide();
}
$('#vehicleList').val($('#vehicleList option:visible').first().attr('value'));
}
$('#vehicleType').change(function(){
resetVehicleList(this);
});
$(document).ready(function(){
resetVehicleList($('#vehicleType'));
});
相关文章:
- 使用CSS或js,使用动态选择器选择任意li的下一个元素
- 从动态创建的html选择中选择所选选项
- Angular:使用选择列表选择过滤代码中的对象
- 在第二次选择中选择2更改属性
- 在v-for中选择中选择框的第一个选项
- Angularjs选择以选择数据传递
- 将相对于选择器的变量传递给多个 jQuery 事件
- 单击输入字段将背景颜色应用于父项,并取消选择初始选择的单选按钮
- Ext 3中相当于$(选择器)
- 如何将JavaScript应用于引导程序btn组以选择/取消选择子按钮元素
- JQuery如何应用于选择器列表
- 我如何将包含$(this)的函数应用于选择器的范围
- 依赖于选择列表的交互式表单不起作用
- Javascript SELECT BOX选项依赖于选择的其他SELECT BOX选项
- AngularJS和null选择值依赖于选择顺序
- 如何在JavaScript/jquery中模拟不特定于选择器的键盘输入按钮
- 什么相当于<选择>菜单的“默认值”
- 将 rateit jquery 插件应用于选择框
- 如何用jquery改变选项框的宽度(独立于选择宽度)
- 下划线相当于_.选择数组