AJAX滴答和交叉控制

时间:2011-05-23 06:58:18

标签: asp.net ajax asp.net-ajax ajaxcontroltoolkit

我想为ASP.NET实现一个tick和cross控件,它像一对radiobuttons(或一个复选框),但更具视觉吸引力。会有一个褪色的刻度线并且相互交叉,当点击一个时它会突出显示。单击另一个时,选择会更改。我需要能够在服务器端代码上读取选择状态。

这需要使用Javascript实现,因为我希望每次单击其中一个图像时都避免不必要的回发。

我最初想过调整AJAX控件工具包的“评级”控件,但看不出如何。

有什么建议吗?我对AJAX不太满意,所以我非常感谢示例代码。

1 个答案:

答案 0 :(得分:1)

我最近在网站上实现了非常类似的东西。 “复选框”是一个样式的<a>标签,有两种样式。 activein-active。我有一些jQuery会更新用户点击<a>标签时使用的css类。此外,当用户点击标签时,我然后更新了页面上的隐藏字段,其中的值与所选值相对应。然后当页面回发时,我可以获取隐藏字段的值。

一个例子是:

<a href="#" id="optionone" class="checkbox-option active"><span>value one</span></a>
<a href="#" id="optiontwo" class="checkbox-option in-active"><span>value one</span></a>
<asp:HiddenField id="hfSelectedOption" runat="server" />

<script type="text/javascript">
    $().ready(function(){
        $('.checkbox-option').click(function(){
           $('.checkbox-option').removeClass('active').removeClass('in-active').addClass('in-active');
           $(this).addClass('active');
           $('#<%=(hfSelectedOption.ClientID)).val($(this).attr("id"));
        });
    }); 
</script>