4

当用户单击链接时,我正在寻找一种方法来更改选择标记中的选项值。

例如,我有一个选择选项 html:

<select> <option value="0">Please Select</option> 
<option value="1">red</option> 
<option value="2">white</option> 
</select>

我有 2 个链接<a href="#" title="red" class="preview_link">red</a> <a href="#" title="white">white</a> 当用户单击红色时,选项将切换为红色,白色将切换为白色。我正在使用以下代码,但它不起作用。

 jQuery("a.preview_link").click(function() {
    var title = jQuery(this).attr("title");
        jQuery(this).parent('p').children("select :selected").text(title);
 });

有什么建议么?

4

3 回答 3

6

您的方式会将选项的文本设置为标题属性。尝试:

 jQuery("a.preview_link").click(function() {
    var title = jQuery(this).attr("title");
    jQuery(this).parent('p').find("select option").filter(function() {
        return $(this).text() == title;
    }).attr('selected', 'selected');
 });

filter

于 2010-07-16T21:41:52.973 回答
0

嗯,你做错了:你需要遍历<option/>元素并选择适当的元素,而不是更改所选选项的文本,如下所示:

$("select option").each(function() { 
    if($(this).text() == "red")) {
        this.selected = true; 
    }
});

编辑:jQuery 中可能有一个select()函数。如果是这种情况,那么在 DOM 属性上使用它。

于 2010-07-16T21:42:08.790 回答
0

这?

$("select #some-option").attr("selected", "selected");

或这个?

$("select").val(index);
于 2010-07-16T21:45:25.817 回答