经过研究和各种实现方式的大量尝试,他们正在寻找如何从我的应用程序中获取单选按钮值。基本上,它是文件 Index.cshtml 中的非常简单的单选按钮:
<div class="col-md-2">
<div style="padding: 0 20px;">
<label for="star-filter2"> Projects vendors status:</label>
<fieldset id="star-filter2">
<input class="radioCheck2" id="rated-filter2" value="true" type="radio" name="starfilter2" />Rated<img src="~/images/check.png" alt="tick box" height="20" width="20" />
<br />
<input class="radioCheck2" id="rated-filter2" value="false" type="radio" name="starfilter2" />Not rated<img src="~/images/excl_mark.png" alt="excl mark" height="20" width="20" />
<br />
<input class="radioCheck2" id="rated-filter2" value="null" type="radio" name="starfilter2" />NULL<img src="~/images/excl_mark.png" alt="excl mark" height="20" width="20" />
</fieldset>
</div>
</div>
这是我的JavaScript代码,我试图在其中获取选定的单选按钮值:
$("#filter2").click(function () {
var showRated = $('#rated-filter2').is(':checked');
localStorage.setItem("showRated", showRated);
var location = $("#filter-button2").find("a").attr("href")....;
window.location.href = location;
});
在此代码行中:var showRated = $('#rated-filter2').is(':checked');
在工作,但仅在检查时获取值。我想要的是,我想要获取所选单选按钮的值,例如:true,“ null”以及我插入到单选按钮中的任何值。
我尝试了这些行,在这些行中我获得了“未定义”或始终为假值。
$('#input[name=\'starfilter2\']:checked').val();
$('#rated-filter2:selected').val();
$('#input[name=starfilter2]:checked').val();
它们都不起作用。
答案 0 :(得分:0)
首先,没有理由要有多个具有相同名称的ID。在这种情况下,为rated-filter2。 ID应该是唯一的。
名称可能也必须是唯一的(也许我不记得哈哈),使用以下代码来具有唯一名称肯定会有所帮助:
$(document).ready(function(){
$("input[type='button']").click(function() {
var radioValue = $("input[name='star-filter2']:checked").val();
if(radioValue){
alert("Selected: " + radioValue);
}
});
});
或替换
var radioValue = $("input[name='star-filter2']:checked").val();
与
var radioValue = $("input[id='rated-filter2']:checked").val();
请记住具有唯一的ID名称