3

所以我有一个选择列表,如果默认值没有更改,---则返回表单 false。几乎是出于验证目的,所以我们知道他们选择了一个标题。问题是由于某种原因prop()将默认值更改为最低值。有没有办法防止这种情况发生?这是一个JSFiddle:

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>

​<strong>JS

function checkSelect(){
try{
    var val = $('#title option').attr('selected', 'selected').val();
    alert(val);
    return false;
    }
    catch(err){
        alert(err.message);
    }
}

​<strong>编辑

我试图更改为 attr() 以查看是否有帮助,但它会产生同样的问题:(

4

1 回答 1

2

您使用的attr(attribute, value)功能是将属性设置为一个值,请参阅attr doc。尝试改变:

var val = $('#title option').attr('selected', 'selected').val();

到:

var val = $('#title option:selected').val();

看到这个 jsfiddle

于 2012-04-05T20:15:09.513 回答