选项道具更改默认选定值 - Jquery

时间:2012-04-05 20:12:37

标签: javascript jquery html attr prop

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

JSFiddle Link

以下是代码:

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()以查看是否有帮助,但它会产生同样的问题:(

1 个答案:

答案 0 :(得分:2)

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

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

为:

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

请参阅this jsfiddle