如何获取标签值已知的复选框

时间:2015-07-24 13:50:00

标签: jquery

我有一些复选框,其标签具有UNIQUE值。我知道标签值,如何访问复选框。

例如:

<input id="id1" type="checkbox">
<label for="id1">D2_Telecaller</label>

如果我知道D2_Telecaller,如何获取此复选框?

3 个答案:

答案 0 :(得分:1)

尝试:contains()选择器:

$("label:contains('D2_Telecaller')").prev("input")...

var text = 'D2_Telecaller';
$("label:contains('" + text +"')").prev("input")...

答案 1 :(得分:0)

尝试使用:contains()选择器和attr()方法。通过attr方法,我们可以访问与相应复选框的ID相关的for属性值。

请参阅此代码段:

var labelVal = 'D2_Telecaller';
var checkBoxId = $("label:contains('" +labelVal+"')").attr('for');
$('#'+checkBoxId).attr('checked', true);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<input id="id1" type="checkbox">
<label for="id1">D1_Telecaller</label>
<input id="id2" type="checkbox">
<label for="id2">D2_Telecaller</label>
 <input id="id3" type="checkbox">
<label for="id3">D3_Telecaller</label>

答案 2 :(得分:0)

我已经像下面这样做了,当复选框标签是唯一的时候这会很好用,当然它们会是;)

    // get table that has checkboxes
    checkBoxList = $("[id*=tblRoleList]");
    // Find all labels
    checkBoxLabels = checkBoxList.find("label");
    // Loop through all lables
    checkBoxLabels.each(function () {
    // If label text matched
    if ($.inArray($(this).text(), "D2_Telecaller") != "-1") {
       // Previous input must be associated checkbox
       chk = $(this).prev();
    }
    });