jQuery获取所选单选按钮的正确值

时间:2019-05-23 21:29:31

标签: javascript jquery

经过研究和各种实现方式的大量尝试,他们正在寻找如何从我的应用程序中获取单选按钮值。基本上,它是文件 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();

它们都不起作用。

1 个答案:

答案 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名称