我是Web开发的新手,需要帮助PHP编写表单。
需要创建包含5个下拉列表的表单。第一个下拉列表中的值为“A,B,C,D,E,F,G”。如果假设在第一个下拉列表中选择“C”,那么第二个下拉列表将具有除“C”之外的所有值,即; “A,B,d,E,F,G”。如果我们假设我们在第二个下拉列表中选择“A”,则第三个下拉列表中显示的值将是除下拉1和下拉列表中选择的值之外的所有值。因此,下拉3中的值将是“B,D,E,F,G。
同样,其他两个下拉框也会发生。
答案 0 :(得分:1)
您可以尝试的一种方法是跟踪数组中需要删除的选项。然后你可以定义哪个选择控件。举个例子:
给出这个html
<select id="a" var="b">
<option>-- SELECT --</option>
<option value="a">a</option>
<option value="b">b</option>
<option value="c">c</option>
<option value="d">d</option>
<option value="e">e</option>
</select>
<select id="b" var="c" disabled>
<option>-- SELECT --</option>
<option value="a">a</option>
<option value="b">b</option>
<option value="c">c</option>
<option value="d">d</option>
<option value="e">e</option>
</select>
<select id="c" disabled>
<option>-- SELECT --</option>
<option value="a">a</option>
<option value="b">b</option>
<option value="c">c</option>
<option value="d">d</option>
<option value="e">e</option>
</select>
你可以使用这个jquery
var doNotShow = [];
$('select').change( function() {
var nextSelect = $(this).attr("var");
doNotShow.push($(this).val());
$.each(doNotShow, function( index, value ) {
$("#" + nextSelect + " option[value='" + value + "']").prop('disabled', true);
});
$("#" + nextSelect).prop('disabled', false);
$(this).prop('disabled', true);
});
doNotShow.push($(this).val());
会跟踪之前选择的所有值,然后$.each
会从下一个select
中删除(或者在这种情况下,禁用)不需要的选项,这些选项会被存储在select
的{{1}}属性中。
答案 1 :(得分:0)
这将通过jquery或者使用Javasript来完成,使用jQuery可以阅读.change()函数的文档,对于带有onchange属性的Javascript,尝试阅读这个问题它会对你有所帮助: HTML SELECT - Trigger JavaScript ONCHANGE event even when the option is not changed