即使在回发后也要检查用户选中的单选按钮

时间:2012-01-05 02:23:01

标签: javascript jquery radio-button postback checked

我有以下radiocontrols,默认选中“All”。如果用户检查其他一些单选按钮并提交,在回发时我想保留选中的按钮,这样用户就可以看到他们点击了什么。如何保留使用jquery选择的内容?我使用的是:

<script type="text/javascript" language="javascript">
 $(document).ready(function() { 
    var url = 'http://mysite.com/events/Pages/default1.aspx?kwd=';
    $(".SearchBoxAndChoices a.searchButton").click(function() {
    var radioVal = $("input[name='EventType']:checked").val();
    var keywords = encodeURIComponent($(".BasicSearchInputBox").val());  
    url =url+keywords+"&type="+radioVal;
    window.location.href=url;  
    });
 });
</script>                     

 <div class="EventRadios" style="color:#574319; font:13px Trebuchet">
    <input type="radio" name="EventType" value="" checked="checked"/>All &nbsp;  
    <input type="radio" name="EventType" value="Classes" />Class &nbsp;  
    <input type="radio" name="EventType" value="Events" />Event &nbsp;    
    <input type="radio" name="EventType" value="Support Groups" />Support Group&nbsp;&nbsp;<br /><br />
</div>
<input name="KeywordBox" class="BasicSearchInputBox" type="text" value="Keyword Search..."/>
<div class="searchBtnHolder"><a class="searchButton" href="#" type="submit"><span>Search</span></a></div>

2 个答案:

答案 0 :(得分:2)

这是一个快速的方法:

var value = window.location.href.match(/[?&]type=([^&#]+)/) || [];

if (value.length == 2) {
    $('input[name="EventType"][value="' + value[1] + '"]').prop('checked', true);
}

这是一个演示:http://jsfiddle.net/agW9g/

答案 1 :(得分:1)

如果您的服务器页面没有重定向到其他地方,通常内容是相同的。哦,您可以使用服务器控件并在ViewState中保持控件的状态。