选项属性更改默认选定值 - Jquery

3
所以我有一个选择列表,如果默认值未从---更改,则返回到表单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个回答

2
您使用的attr(attribute, value)函数是将属性设置为一个值,请参考attr文档。尝试更改以下内容:
var val = $('#title option').attr('selected', 'selected').val();

to:

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

请查看这个jsfiddle

好的,谢谢!我可能对prop()的作用感到困惑。 - Howdy_McGee
很高兴能帮到你 :). 顺便说一下,你的代码示例使用的是 attr 而不是 prop。它们为您提供了不同(但相关)的功能。prop 文档中有关于它们之间差异的描述。 - Jeroen

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接