我有4个单选按钮,每个按钮都有不同的网址值。
我用jQuery创建了这个脚本,以便在选中时将浏览器重定向到单选按钮值:
jQuery的:
jQuery('#searchfilter input').click(function () {
if (jQuery('#searchfilter input').is(':checked')) {
var value = jQuery(this).attr('value');
window.location.href = value;
}
});
HTML:
<div id="searchfilter">
<div class="radio">
<label>
<input type="radio" value="url1" name="filter">URL1
</label>
</div>
<div class="radio">
<label>
<input type="radio" value="url2" name="filter">URL2
</label>
</div>
<div class="radio">
<label>
<input type="radio" value="url3" name="filter">URL3
</label>
</div>
<div class="radio">
<label>
<input type="radio" value="url4" name="filter">URL4
</label>
</div>
</div>
新加载的页面包含相同的四个单选按钮。我想检查一下与网址具有相同价值的单选按钮。换句话说,我希望检查最后一个单选按钮以保持检查状态。
是否有一种精简而有效的方法在jQuery中执行此操作而无需运行四个ifs并为url值设置四个变量?
答案 0 :(得分:2)
试试这个:
$(document).ready(function (){
$('#searchfilter input').each(function (){
if($(this).val()==window.location.href){
$(this).attr("checked","true");
}
});
})
这是一个有效的fiddle
答案 1 :(得分:0)
也许这样的东西 - 它会循环遍历表单上的所有单选按钮,然后你会留下一个if语句。
$(document).ready(function() {
$('input[type=radio]').each(function() {
if ($(this).prop('value') == window.location))
{
$(this).prop('checked', true)
}
});
});