【问题标题】:Using jQuery to check a checkbox based on text values from other div使用 jQuery 根据来自其他 div 的文本值检查复选框
【发布时间】:2015-11-12 10:43:40
【问题描述】:
我想根据来自另一个 div 的值选中一个复选框。例如,如果此页面具有文本名称title,我希望选中复选框。如果没有title,则不会选中该复选框。
<div class="testdiv">
<p>title</p>
</div>
<div class="checkbox">
<input type="checkbox" name="testcheck" id="testcheck" value="1">
<label for="testcheck">Lorem Ipsum</label>
</div>
【问题讨论】:
标签:
javascript
jquery
html
checkbox
【解决方案1】:
我建议这样:
if ($('#testdiv > p:contains("title")').length > 0) {
$("#testcheck").prop('checked', true);
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div id="testdiv">
<p>title</p>
</div>
<div class="checkbox">
<input type="checkbox" name="testcheck" id="testcheck" value="1">
<label for="testcheck">Lorem Ipsum</label>
</div>
基本上你已经在检查选择器,如果 p 包含任何文本,然后将复选框设置为 true。
工作测试用例:
http://jsfiddle.net/tmanb34t/
【解决方案2】:
var val = $('.testdiv').find('p').text();
if (val == 'title') {
$('#testcheck').prop('checked', true)
} else {
$('#testcheck').prop('checked', false)
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div class="testdiv">
<p>title</p>
</div>
<div class="checkbox">
<input type="checkbox" name="testcheck" id="testcheck" value="1">
<label for="testcheck">Lorem Ipsum</label>
</div>
试试这个方法
首先获取p的文本。要比较的文本。然后使用 if 条件比较是否为 true 使用 .prop() 将复选框设置为选中
【解决方案3】:
这就够了:
if($('div').text().indexOf('title')!=-1)
// check the checkbox