使用jquery替换复选框列表中的标签

时间:2016-07-04 09:36:54

标签: javascript jquery asp.net

我正在尝试使用jquery替换带有超链接的标签。但它对我不起作用。我希望每个列表项具有基于其值的特定超链接。 这是我尝试过的.. JQuery代码:

        $('.chkList li label').each(function () {

            if ($(this).val() == "1")
                $this.replaceWith('<a href="">link 1</a>');
            if($(this).val() == "2")
                $this.replaceWith('<a href="">link 2</a>');
        });

asp.net代码:

 <asp:CheckBoxList ID="chkList" runat="server" RepeatLayout="UnorderedList" CssClass="chkList">
                    <asp:ListItem Text="A" Value="1"></asp:ListItem>
                    <asp:ListItem Text="B" Value="2"></asp:ListItem>
                    <asp:ListItem Text="C" Value="3"></asp:ListItem>
</asp:CheckBoxList>

我在这里缺少什么?

2 个答案:

答案 0 :(得分:0)

好的 - 所以有两件事A) 你对$ this的使用需要在评论中进行修改,但我也意识到你正在比较价值。所有输入值都是字符串,直到转换为数字,因此要么使用parseInt()转换它:

 if (parseInt($(this).val())== 1)

或将其保留为字符串

 if ($(this).val() == "1")

答案 1 :(得分:0)

这有效!

<script>
        $('.chkList li').each(function () {

            var myvalue = $(this).html();
            if ($(myvalue).attr("value") == "1")
                $(this).replaceWith('<a href="">link 1</a>');
            if ($(myvalue).attr("value") == "2")
                $(this).replaceWith('<a href="">link 2</a>');
        });
</script>