我有5个HTML选择框,这些选择框都填充了相同的数据,因此不是“链式选择”。
我希望select2禁用,直到select1被选中并选择3禁用,直到SELECTS 1&已经挑选了2个等等。
我的SELECT ID是:
所有SELECTS的默认值为“选择作业”
如果SELECT具有除“Select Job”之外的任何其他值,则行中的下一个SELECT可以变为活动状态。
不确定如何在jQuery中执行此操作
答案 0 :(得分:5)
假设除了第一个之外的所有部分都已被禁用:
$("select").change(function() {
if ($(this).val() !== "select job") {
$(this).next("select").prop("disabled", false);
} else {
if(!$(this).index() === 0)
$(this).prop("disabled", true);
$(this).next("select").prop("disabled", true);
}
});
我通常建议首先阅读http://www.whathaveyoutried.com/的精彩资源,但我正在等待下一班车,所以我需要做点什么来消磨时间(这不是工作)。
答案 1 :(得分:2)
这是一个独立于它们在页面上的显示方式的解决方案。如果选择框始终确保以正确的顺序出现,则可以简化。 jsFiddle
var linkOrder = [
"primary",
"record1",
"record2",
"record3",
"record4"
];
$('select.linked').not('#' + linkOrder[0]).attr('disabled', 'disabled');
$('.linked').change(function(){
var id = $(this).attr('id');
var index = $.inArray(id, linkOrder);
$('#' + linkOrder[index+1]).removeAttr('disabled');
});