我正在尝试对选择字段进行检测。默认情况下,所选的第一个项目被禁用,并作为用户“选择选项”的提示。
我想检查在提交表单时是否仍然选中此“已禁用”项目,如果是,则要求用户选择该字段中的一个选项。目前由于某种原因,在选择任何选项时会抛出验证错误。我做错了什么?
HTML
<select name="purchasableId" id="metreSelect" class="metre" required>
<option disabled selected>Select option</option>
<option value="Dynamic Options">Dynamic Options</option>
</select>
JQuery的
$('#add').click(function(){
if ($(".metre").children('option').attr('disabled')) {
$('.metreValidation').html("<span class='flash'>Please select the number of metres</span>");
$('.metre').addClass("errorBorder");
var errorMessage = 'true';
}
});
答案 0 :(得分:2)
您的查询$(".metre").children('option').attr('disabled')
只检查是否有任何已禁用选项,该选项始终为true。您应该检查是否已禁用 selected 选项:
if ($('.metre').find('option:selected').attr('disabled')) {
// show the error
}