Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用jQuery数组结果并将其与div id进行比较?_Jquery_Arrays - Fatal编程技术网

如何使用jQuery数组结果并将其与div id进行比较?

如何使用jQuery数组结果并将其与div id进行比较?,jquery,arrays,Jquery,Arrays,我的html看起来像这样。但是它在“related”属性中包含更多的框和更多的条目——它们是根据后端逻辑从数据库动态加载的 <div id="container"> <div id="134" class=box> <h3 related="157,202">Title</h3> <p>bla bla bla</p> <input name="" value="

我的html看起来像这样。但是它在“related”属性中包含更多的框和更多的条目——它们是根据后端逻辑从数据库动态加载的

<div id="container">

    <div id="134" class=box>
        <h3 related="157,202">Title</h3>
        <p>bla bla bla</p>
        <input name="" value="" type="checkbox">
    </div>

    <div id="157" class=box>
        <h3 related="134,202">Title</h3>
        <p>bla bla bla</p>
        <input name="" value="" type="checkbox">
    </div>

    <div id="167" class=box>
        <h3 related="205,210">Title</h3>
        <p>bla bla bla</p>
        <input name="" value="" type="checkbox">
    </div>

    <div id="202" class=box>
        <h3 related="134,157">Title</h3>
        <p>bla bla bla</p>
        <input name="" value="" type="checkbox">
    </div>

</div>

谢谢。

我只想这么做,所以您也可以在取消选中时删除back

  • 只需创建一个接收相关id数组的方法
  • 循环所有
  • 对于每个,找到复选框并标记它,无论是否选中
$('.box input')。单击(函数(){
var relatedIds=$(this)//单击的复选框
.closest(“.box”)//包装器div
.toggleClass('clicked')//让我们添加/删除一个类
.find(“h3”)//具有属性的h3
.attr(“相关”)
.拆分(“,”);
markAllRelated(relatedIds,$(this).is(“:checked”);
});
函数markAllRelated(relatedID,检查){
$.each(相关ID、函数(索引、val){
$('#'+val)//相关元素
.toggleClass(“已标记”)//添加/删除该类
.find(“输入[type=checkbox]”//输入框
.prop(“选中”,选中);//让我们标记它
});
}
.box{
显示:内联块;
宽度:130px;
背景色:#ccc;
}
.点击{
背景色:#ff0;
}
.标记{
背景色:#f00;
}

标题
呜呜呜呜

标题 呜呜呜呜

标题 呜呜呜呜

标题 呜呜呜呜


您需要的应该是这样的,它根据
h3
相关
属性中的ID将类添加到
div.box
,并取消选中

$('.box输入')。单击(函数(){
var数组=$(this).closest(.box”).find(“h3”).attr('related').split(“,”);
$。每个(数组、函数(i){
$('#'+array[i]).toggleClass('someClass');
});
});
.someClass{
颜色:红色;
}

标题
呜呜呜呜

标题 呜呜呜呜

标题 呜呜呜呜

标题 呜呜呜呜


related
属性中的
id
是否要分配类给
h3
相关的
属性中的
id
呢?当你把
$('#'+array[I]).addClass('related')放进去时会发生什么在循环中?谢谢!正是我所需要的。:)
$('.box input').click(function () {
if (this.checked) {

var array = $(this).closest(".box").find("h3").attr('related').split(",");

$.each(array, function (i) {
   console.log(array[i]);
});

} else {

/* do something else */

}

}