当第二个td包含单词时,选择第一个td中的输入



我有一个带有属性的表,其中每个tr id都有一个attribute_id。每个tr包含6个td,而第一个td包括一个输入选择框。

当第三个td包含特定单词时,我正在尝试自动选择输入框。我试着用jQuery做这件事,但我做不到。我不能让这两个为每一个工作,因为我有包含所有不同id的属性。

我当前的代码如下:

var id = 1;
while(id != 10000){
jQuery('#attribute_ " + id + " > tbody > tr').each(function(index, value) {
jQuery('#+"+id+" > tbody > tr').each(function(index, value) {
$('td:contains("metal")', td[1].select());
});
});
}

我的html代码:

<tr class="combination loaded" id="attribute_7892" data="7892" data-index="7892" style="display: 
table-row;">
<td width="1%">
//select this when contains metal
<input class="js-combination" type="checkbox" data-id="7892" data-index="7892"> 
</td>
<td class="img"><img src="http://image" class="img-responsive"></td>
//contains metal:
<td>Chain - plastic, left - right, skin - metal silver - V6, color - dark/gray</td>

<td class="attribute-price">5.00</td>
</tr>

基本流程如下:

  1. 循环通过每个tr
  2. 检查tr是否具有与"attribute_[number]"匹配的id
  3. 检查该tr的第三个td是否包含单词"metal">
  4. 如果是,则将checked设置为true,否则设置为false

以下是一个示例:

var search = 'metal';
var rows = $('tr.combination.loaded');
rows.each(function(index, value) {
if (/(attribute_)(d+)/g.test(value.id)) {
$(this).children(0).children(0).attr('checked', ($(this).children(2).text().indexOf(search) !== -1));
};
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<table>
<tr class="combination loaded" id="attribute_7892" data="7892" data-index="7892" style="display: 
table-row;">
<td width="1%">
//select this when contains metal
<input class="js-combination" type="checkbox" data-id="7892" data-index="7892">
</td>
<td class="img"><img src="http://image" class="img-responsive"></td>
//contains metal:
<td>Chain - plastic, left - right, skin - metal silver - V6, color - dark/gray</td>
<td class="attribute-price">5.00</td>
</tr>
</table>

相关内容

  • 没有找到相关文章

最新更新