【问题标题】:Option Prop Changing Default Selected Value - Jquery选项道具更改默认选定值 - Jquery
【发布时间】:2012-04-05 20:12:37
【问题描述】:

所以我有一个选择列表,如果默认值没有从--- 更改,则返回表单 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() 以查看是否有帮助,但它产生了同样的问题:(

【问题讨论】:

    标签: javascript jquery html attr prop


    【解决方案1】:

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

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

    到:

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

    this jsfiddle

    【讨论】:

    • 成功了,谢谢!我一定对 prop() 的作用感到困惑。
    • 很高兴我能帮上忙 :)。顺便说一句,您的代码示例使用attr,而不是prop。他们为您做不同(但相关)的事情。 prop documentation 有差异的描述。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多