0

当用户单击链接时,我正在寻找一种方法来更改 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');  });
4

2 回答 2

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 下拉列表。

于 2012-09-03T15:04:15.997 回答
0

更简单,你可以这样做:

  $("a.preview_link").click(function() {
    var title = $(this).attr("title");
    $('#DropDownList1 option[value=title]').attr("selected", true);
     });
于 2012-09-03T15:04:38.930 回答