作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个由 PHP 生成并呈现到页面以供 jQuery 使用的对象。该对象可以包含多个记录/值。该对象包含一个ID号和一个employeeID。
[
{
"intID": "202",
"text": "Dav123"
}
]
我尝试根据对象中的数据检查页面上的复选框。以下是复选框的示例:
<input type="checkbox" value="Dav123" intid="202" class="projectMember">
我试图循环遍历该对象并选中 intID
和 empID
与页面上的复选框匹配的所有框。
我尝试做这样的事情,但它不会检查任何东西。
jQuery.each(preload_presenters, function(i, val) {
var intID = val.intID,
empID = val.text;
$('.projectMember').each(function(){
if($(this).attr('intid') == intID && $(this).val() == empID) {
$(this).prop('checked', true);
}
})
});
有什么更干净/实用的方法来实现这一点的想法吗?
最佳答案
首先,intid
不是复选框的标准属性,并且会使页面无效,这意味着您可能会得到一些奇怪的 UI/JS 行为。如果可以,请将其更改为使用 data-*
属性:
<input type="checkbox" value="Dav123" data-intid="202" class="projectMember">
然后在你的 JS 中,你可以使用过滤器通过你拥有的属性来查找特定元素:
jQuery.each(preload_presenters, function(i, val) {
$('.projectMember').filter(function(){
return this.value == val.text && $(this).data('intid') == val.intID;
}).prop('checked', true);
});
关于javascript - jQuery 基于对象的查找和复选框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28051316/
我是一名优秀的程序员,十分优秀!