根据父选择元素的id属性更改选择选项的值

时间:2015-12-11 18:54:36

标签: javascript jquery

我有多个选择选项。如果我选择特定的select元素,例如id="a",我希望将option值设置为0

$('#form option:selected').each(function() {
    var id = $(this).attr('id');
    if(id == 'a') {
        val = 0;
    } else {
        val = 10;
    }
    console.log(val);
});

我得到undefined值。

1 个答案:

答案 0 :(得分:1)

您的jQuery无法运行的部分原因是因为valundefined变量。您应该使用this.value来设置/获取option元素的值。

根据您的评论,如果id位于select元素上,则会显示为您想要的内容:

Example Here

$('form option:selected').each(function() {
    var id = $(this).parent().prop('id');
    this.value = id === 'a' ? 0 : 10;
});

值得一提的是,您只需使用.val()方法即可简化代码。它将迭代元素,您需要做的就是返回一个值:

Updated Example

$('form option:selected').val(function () {
    return $(this).parent().prop('id') === 'a' ? 0 : 10;
});