我想为ASP.NET实现一个tick和cross控件,它像一对radiobuttons(或一个复选框),但更具视觉吸引力。会有一个褪色的刻度线并且相互交叉,当点击一个时它会突出显示。单击另一个时,选择会更改。我需要能够在服务器端代码上读取选择状态。
这需要使用Javascript实现,因为我希望每次单击其中一个图像时都避免不必要的回发。
我最初想过调整AJAX控件工具包的“评级”控件,但看不出如何。
有什么建议吗?我对AJAX不太满意,所以我非常感谢示例代码。
答案 0 :(得分:1)
我最近在网站上实现了非常类似的东西。 “复选框”是一个样式的<a>
标签,有两种样式。 active
和in-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>