如果选择框不为空,则属性更改

时间:2012-05-16 20:21:08

标签: javascript jquery html

我正在尝试检查根据用户选择填充的select框的值,一旦用户从other select boxes选择了document.ready()中的选项,就会填充此选项select是空的,我需要检查这个select是否仍为空,然后禁用一个按钮,否则再次启用它。

这是我尝试过的,它感觉下拉框是空的,但不是当它填充时!

if ($('#course-selection').html(null)) {
$('#show-wall-button').attr('disbaled','disabled');
}

else {
$('#show-wall-button').removeAttr('disabled');  
}

当页面加载时,这已经在document.ready事件中触发了!。

我也试过这个,但没有用

if ($('#course-selection').val(null)) {
    $('#show-wall-button').attr('disbaled','disabled');
    }

    else {
    $('#show-wall-button').removeAttr('disabled');  
    }

7 个答案:

答案 0 :(得分:1)

你可以试试这个:

$('#show-wall-button').prop('disabled', $('#course-selection').is(':empty'))

答案 1 :(得分:0)

尝试:

if ($('#course-selection').val() === '') { 
   $('#show-wall-button').prop('disbaled', true);
}

else {
   $('#show-wall-button').prop('disabled', false);  
}

来自API:http://api.jquery.com/prop/

答案 2 :(得分:0)

if ($('#course-selection').val(null))

应该是

if ($('#course-selection').val() == '')

答案 3 :(得分:0)

$('#course-selection option').length而不是您目前使用的条件怎么样? 无论如何,我觉得可能有更好的方法来做你想做的事情,而不必检查选择框内是否有选项标签。

答案 4 :(得分:0)

检查<select>的内容有点乱。如何添加属性data-populated="false"并在填充时将其设置为true。然后,您只需检查条件中元素的属性状态。

答案 5 :(得分:0)

按照@Raminson的建议

但是在示例disabled中拼写错误(disbaled)因此在填充时永远不会删除Attr disabled,因为您分配的属性拼写错误{{1} }

答案 6 :(得分:0)

<select id="course-selection">
   <option value="">null</option>
   <option value="1">option1</option>
</select>

如果您想获得选定的值:

if($("#course-selection option:selected").val()=="")
   $('#show-wall-button').attr('disbaled', true);
else
   $('#show-wall-button').removeAttr('disabled');

如果您想获得选定的文字:

if($("#course-selection option:selected").text()=="null")
   $('#show-wall-button').attr('disbaled', true);
else
   $('#show-wall-button').removeAttr('disabled');