如何知道哪个元素具有已检查的类

时间:2014-10-18 14:15:09

标签: jquery

我有以下HTML代码:

<div class="form-group">
    <label class="radio radio-inline checked">
      <input type="radio" name="searchOption" id="searchByCity" value="searchByCity"> City
    </label>
    <label class="radio radio-inline">
      <input type="radio" name="searchOption" id="searchByZipCode" value="searchByZipCode"> ZIP Code
    </label>
    <label class="radio radio-inline">
      <input type="radio" name="searchOption" id="searchByGeolocation" value="searchByGeolocation"> Geolocation
    </label>
</div>

我怎么知道哪个元素有checked类?

我尝试着这一点,取笑任何成功:

alert($('label.radio-inline > input[name="searchOption"]:checked').val());

注意:checked选项不得用于label而不是input ...

感谢。

4 个答案:

答案 0 :(得分:2)

您可以按如下方式访问具有类checked的标签内的单选按钮的值:

$(".form-group label.checked").find("input[name='searchOption']").val()

答案 1 :(得分:0)

如何知道哪个元素具有已检查的类? 那么你可以试试这个选择器

var elements = $('label.radio-inline.checked')

答案 2 :(得分:0)

  

我如何知道哪个元素具有已检查的类?

$(".form-group").find("input[name='searchOption']:checked")会为您提供所选项目。

如果您需要找出点击了哪一个,您还可以使用它来获取id

$(".form-group").find("input[name='searchOption']:checked").attr("id")

答案 3 :(得分:0)

您可以选择使用.hasClass()

&#13;
&#13;
$("#getValues").on("click", function(){
    var checkedValue = $("label").map(function(){
        return $(this).hasClass("checked") ? $(this).children("input:radio:checked").val() : "";      
    }).get().join("");
    alert(checkedValue);
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="form-group">
    <label class="radio radio-inline">
        <input type="radio" name="searchOption" id="searchByCity" value="searchByCity" /> City
    </label>
    <label class="radio radio-inline checked">
        <input type="radio" name="searchOption" id="searchByZipCode" value="searchByZipCode" checked="true" /> ZIP Code
    </label>
    <label class="radio radio-inline">
        <input type="radio" name="searchOption" id="searchByGeolocation" value="searchByGeolocation" /> Geolocation
    </label>
</div>

<input type="button" id="getValues" value="get check value" />
&#13;
&#13;
&#13;