我有一些复选框,其标签具有UNIQUE值。我知道标签值,如何访问复选框。
例如:
<input id="id1" type="checkbox">
<label for="id1">D2_Telecaller</label>
如果我知道D2_Telecaller,如何获取此复选框?
答案 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();
}
});