如何从Jquery的链接更改选项值?

时间:2012-09-03 14:53:40

标签: javascript jquery option

我正在寻找一种在用户点击链接时从Asp ListItem更改选项值的方法。

例如,我有一个Asp ListItem:

<asp:DropDownList ID="DropDownList1" runat="server" class="Preview_link" 
            Height="20px" Width="118px">
    <asp:ListItem>Red</asp:ListItem>
    <asp:ListItem>White</asp:ListItem>
    <asp:ListItem>Green</asp:ListItem>
    <asp:ListItem>Blue</asp:ListItem>
</asp:DropDownList>

我有2个链接

<a href="#" title="red" class="preview_link">red</a> 
<a href="#" title="white">white</a>

当用户点击红色时,该选项将切换为红色,白色将切换为白色。我使用以下代码,但它无法正常工作。

如何更改此jquery以使用Asp listItem而不是html下拉列表?

 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');  });

2 个答案:

答案 0 :(得分:0)

如果您的选择器没问题 - 这应该有效:

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

但是这个功能看起来非常狡猾。您可以选择一个选项     jQuery(this).parent('p').find("select").val(title)。只有这里 - 我不确定区分大小写,但假设情况很重要。

  

如何更改此jquery以使用Asp listItem而不是html下拉列表?

目前尚不清楚你想要什么。 asp:ListItem是一个html下拉列表,如果你在浏览器中查看它。

答案 1 :(得分:0)

你可以做得更简单:

  $("a.preview_link").click(function() {
    var title = $(this).attr("title");
    $('#DropDownList1 option[value=title]').attr("selected", true);
     });