如何使用jquery live()向元素添加属性

时间:2011-07-15 14:22:48

标签: jquery-selectors jquery

我在页面加载的DOM中有一个select元素。让我们说它的my_select的id是这样的:

<select name="my_select" id="my_select">
</select>

在某些时候,当用户执行某些操作时,会通过ajax拉入一些值以填充此select元素,以便它现在包含选项。所以它现在看起来像这样:

<select name="my_select" id="my_select">
    <option value="1">Option 1</option>
    <option value="2">Option 2</option>
    <option value="3">Option 3</option>
</select>

那么如何将属性添加到其中一个选项中呢?

我想这样做:

$('#my_select option[value="2"]').attr("selected", "selected");

但我认为我需要使用live(),因为在创建DOM之后通过ajax添加了选项。

由于

3 个答案:

答案 0 :(得分:1)

$("body").delegate('#my_select", 'YOUREVENT', function(){
    $("#my_select option[value='2']").attr("selected", "selected");
});

答案 1 :(得分:0)

只需设置选中的选项就可以这样做:$('#my_select').val(2);您在寻找更多吗?

答案 2 :(得分:0)

$ .live与$ .bind相同,对于事件绑定,差异是“实时”适用于元素而非尚不存在,并且将由DOM脚本(即ajax响应)创建。

设置val = 2的正确形式是$('#my_select')。val(2),当它已经在dom中时;)