7

我有以下代码

<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>

我需要做的,是根据一个查询字符串号将选中项的值改为一个(我可以得到这个值ok)

我正在尝试使用 jQuery 更改值,但我尝试过的任何方法似乎都不起作用。

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

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

我这里有什么问题吗?

谢谢

4

2 回答 2

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/

于 2012-04-05T16:18:13.133 回答
2

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

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

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

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

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

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

于 2012-04-05T16:14:17.973 回答