2012-01-05 73 views
0

我有以下radiocontrols默認選中「全部」。如果用戶檢查一些其他的單選按鈕並提交,在回發上我想保留選中的按鈕,所以用戶可以看到他們點擊了什麼..如何保持任何使用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

下面是一個簡單的方法:

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

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

這裏有一個演示:http://jsfiddle.net/agW9g/

+0

謝謝謝謝謝謝! :)工作就像一個魅力!所以你檢查傳遞給url的任何內容,如果它的長度== 2意味着? – 2012-01-05 02:42:00

+0

@AnjuThapa - '.match'在字符串(使用正則表達式)中搜索'type'參數的值。如果發現它,它將位於返回數組的位置'1'。這就是爲什麼我們首先必須檢查是否有位置'1'。 – 2012-01-05 02:47:31

+0

如何用下拉菜單實現同樣的功能? 2012-01-05 03:29:56

1

如果您的服務器頁面沒有重定向到其他地方,通常內容是相同的。哦,您可以使用服務器控件並在ViewState中保持控件的狀態。