使用this question作为基础,我一直在尝试使用从属下拉框设置表单。用户从下拉框1中选择他们想要的信息会话,隐藏的下拉框显示该信息会话的相关日期。有2个(最初隐藏)下拉框,显示一个取决于用户在第一个下拉框中选择的内容。
它在视觉上有效,但在尝试发布数据时并非如此。从我通过Firebug可以看出,“禁用”在任何时候都没有从“真实”改变,因此表单抱怨默认不是一个选项。 firstChoice选项失败,secondChoice选项通过罚款。
<div id="myQuestions">
<select id="QuestionOptions" class="required" name="SESHTYPE">
<option selected="selected" value="Default">Choose information session.</option>
<option value="firstChoice">First One</option>
<option value="secondChoice">Second One</option>
</select>
</div>
<div id="myAnswers">
<div id="firstChoice" disabled="true" style="display: none;">
<select id="mce-INFODATE" name="INFODATE">
<option value="Default">Please choose a date:</option>
<option value="7th March">Thursday, 7th March</option>
<option value="20th March">Wednesday, 20th March</option>
<option value="11th April">Thursday, 11th April</option>
</select>
</div>
<div id="secondChoice" disabled="true" style="display: none;">
<select id="mce-INFODATE" name="INFODATE">
<option value="Default">Please choose a date:</option>
<option value="16th April">Tuesday, 16th April</option>
</select>
</div>
jQuery(document).ready(function($) {
$('#QuestionOptions').change(function () {
$('#myAnswers > div').hide().prop("disabled", true);
$('#myAnswers').find('#' + $(this).val()).show().prop("disabled", false);
});
});
编辑:更多挖掘,我发现你不能在div as from here上使用禁用;将使用儿童()让我到我想去的地方?
答案 0 :(得分:0)
首先,你不能有两个具有相同名称和id的选择,它们需要不同。
其次,您无法停用<div>
,只能隐藏它,但可以禁用<select>
。也许尝试类似的事情:
$('#myAnswers > div').hide()
$('#myAnswers select').prop("disabled", true);
var selectedDiv = $('#myAnswers').find('#' + $(this).val());
selectedDiv.show()
selectedDiv.find('select').prop("disabled", false);