我真的很擅长这个并处理JavaScript代码,我想知道下拉列表是否有任何选择值。我该怎么做?
我试过了:
var selectObj = form.document.getElementById('myListId');
var selectInd = selectObj.selectedInd;
并尝试:
if(selectInd == "")
检查它是否为空。
我需要更改什么才能使其正常工作?
提前致谢!
答案 0 :(得分:1)
HTML
<select id="myListId">
<option value="">- Select an option-</option>
<option value="1">Option 1</option>
<option value="2">Option 2</option>
<option value="3">Option 3</option>
</select>
的Javascript
function checkvalue(){
var selectObj = form.document.getElementById('myListId');
if (selectObj.value != "") {/* DO something */}
}
现在您可以在更改选择框时执行此功能,或者在您提交表单时,由您决定。
答案 1 :(得分:1)
根据设计,下拉列表始终具有选定的值。如果你只想先留空值而不为用户选择一些东西,你只需检查它的值是否为空。
document.getElementById("validate").onclick = function() {
if (document.getElementById("foo").value == "")
alert("invalid");
else
alert("valid");
};
根据评论,这可能不适用于旧版本的IE。如果您需要支持这些浏览器,请务必在那里进行测试。
答案 2 :(得分:1)
尝试阅读此example。
您正在尝试将数字(selectObj.selectedIndex
)与字符串(""
)进行比较,您应该写下这样的内容:
var selectObj = document.getElementById('myListId'),
selectInd = selectObj.selectedIndex,
selectedVal = selectObj.options[selectInd].value;
if(selectedVal== "") {
/* do your stuff*/
}
只是注意:这只能用这样的html工作(检测等于""
的值):
<select id="myListId">
<option value="" selected="selected">Empty value</option>
<option value="1">Non empty value</option>
</select>
或者当用户选择了“空值”选项时。
修改强> 试试这个demo。此演示也适用于IE7。