jQuery更改选择列表的值

时间:2012-04-05 16:11:42

标签: jquery jquery-selectors

我有以下代码

<select id="practice_id" name="practice" column="practice" style="width: 200px">
 <option value="">Default</option>
 <option value="1">Test 1</option>
 <option value="2">Test 2</option>
 <option value="3">Test 3</option>
 ...............
</select>

我需要做的是根据查询字符串编号将所选项目的值更改为1(我可以将此值设置为正确)

我正在尝试使用jQuery更改值,但我尝试过的任何内容似乎都无法正常工作。

$('#practice_id').val('QUERY_STRING_NUMBER');

这似乎不起作用,因为价值没有变化。

我在这里弄错了什么?

由于

2 个答案:

答案 0 :(得分:10)

您需要选择option元素,而不是select元素:

(function($) {
    $('#practice_id').change(function() {
        var val = $(this).val();
        alert(val);
        $('option[value=' + val + ']', this).val('changed');
    });
})(jQuery);

http://jsfiddle.net/PeeHaa/6yre7/

答案 1 :(得分:2)

$('#practice_id').val('QUERY_STRING_NUMBER');

这是设置下拉列表的值,而不是“更改”下划线选项值。

$(document).ready(function() { $("#practice_id").children().val("-99"); });

这会将所有选项标记的值更改为-99。

http://jsfiddle.net/MejLX/1/

注意:是的,您可以通过jQuery执行此操作。但是,根据大多数日常常见情况,我认为您的服务器端脚本/页面将生成正确的值。