我有两个问题:
1。)正如您所看到的,我有多个div,当点击onclick
callout panel notes
时,我有div
件事情。它访问data-category
属性。我正在使用
$(this).parent().parent().siblings().first().data("category");
要访问它,哪个有效,但看起来很乱。我试过parents().last().data(...)
,但从未奏效。我觉得这是一种更有效的方式。所以任何意见将不胜感激。
2。)我的下一个问题我无法弄明白。一些div具有selected
类(在我点击div之后)。之后我会点击一个按钮来抓取所选的东西,并通过一些ajax的东西发送它。还有其他5个"类别"所以我需要将.selected
内容与data-category="a"
相关联,即我需要确保它只与该类别循环。任何人都可以帮助我遍历data-category="a"
并使用data-response-text
类的.selected
构建一个多行字符串吗?
html如下:
<div class="row responses panel">
<div class="small-12 column" data-category="a">
<h3>Responses</h3>
</div>
<div class="small-12 column">
<div class="callout panel notes" data-response-text="Info 1">
Info 1
</div>
</div>
<div class="small-12 column">
<div class="callout panel notes selected" data-response-text="Info 2">
Info 2
</div>
</div>
<div class="small-12 column">
<div class="callout panel notes selected" data-response-text="Info 3">
Info 3
</div>
</div>
<div class="small-12 column">
<div class="callout panel notes selected" data-response-text="Info 4">
<div class="remove-response"></div>
Info 4
</div>
</div>
<div class="small-12 column">
<div class="add-new-box">
<div class="add-new">
Add Response
</div>
<div class="add-new-text">
<input class="text-response" type="text" placeholder="Response">
</div>
</div>
</div>
</div>
<div><span class="button">Submit</span></div>
答案 0 :(得分:1)
对于第一部分,您可以这样做:
build.sbt
如果chisel-dependent.sbt
或$(this).closest('.row.responses').children(':first').data('category');
对于该级别元素是唯一的,那么您可以单独使用它。
对于第二部分,我假设“与数据类别相关联的内容”是指第{f}个元素具有.row
的元素.responses
。如果是这样,那么你可以这样做:
.row.responses
答案 1 :(得分:1)
第一个问题:我会像这样选择面板:
$(this).find('[data-category]').data();
然后我会创建一个在每个面板上调用的函数,然后从.selected
function getData(panel) {
var $selected = $(panel).find('.selected');
var dataArr = [];
for (var i = 0; i < $selected.length; i++) {
dataArr.push($selected.eq(i).data().responseText);
}
return dataArr;
}
var panelData = getData($('the-panel-in-question'));