所以我有一个选择列表,如果默认值没有从---
更改,则返回到表单false。几乎是为了验证目的所以我们知道他们选择了一个标题。问题是由于某种原因,prop()
正在将默认值更改为最底层的值。有没有办法防止这种情况发生?这是一个JSFiddle:
以下是代码:
HTML
<form onSubmit="return checkSelect()">
<select id="title" name="title"> <option value="---">---</option> <option value="Administrator">Administrator</option> <option value="Asst. Admin.">Asst. Admin.</option> <option value="Director">Director</option> <option value="Asst. Director">Asst. Director</option> <option value="IT Director">IT Director</option> <option value="Manager">Manager</option> <option value="Medical Officer">Medical Officer</option> <option value="Other">Other</option> </select>
<input type="submit" value="submit" />
</form>
JS
function checkSelect(){
try{
var val = $('#title option').attr('selected', 'selected').val();
alert(val);
return false;
}
catch(err){
alert(err.message);
}
}
修改
我尝试更改为attr()以查看是否有帮助,但它会产生同样的问题:(
答案 0 :(得分:2)
您使用的attr(attribute, value)
功能是将属性设置为值,请参阅the attr doc。尝试更改:
var val = $('#title option').attr('selected', 'selected').val();
为:
var val = $('#title option:selected').val();
请参阅this jsfiddle。