2016-02-19 3 views
0

У меня есть динамическая таблица с ячейкой таблицы с полем поля. Эти поля заполняются из базы данных, поэтому моя таблица является динамической. Я хотел бы пропустить флажки на основе их имени класса. В этом цикле я хочу проверить значение для каждого флажка. Например, если значение равно 1, я хочу, чтобы флажок был отмечен, если не отмечен. Alo Я не уверен, если это возможно, но я хотел бы установить уникальный идентификатор для каждого из этих флажков. Поскольку моя таблица динамична, мои поля должны иметь уникальные идентификаторы. Вот пример моего кода:Как пропустить группу флажков с одинаковым именем класса?

<table> 
    <thead> 
     <tr> 
      <th>#</th> 
      <th>Time Slots</th> 
      <th>Block</th> 
     </tr> 
    </thead> 
    <tbody> 
     <tr> 
      <td></td> 
      <td>~(SLOT_LABEL)</td> 
      <td> 
       <span> 
       <input type="checkbox" name="CF-[Events]" class="block" id="block_"+Value that will make this ID unique. value="~(SLOT_ID)"/> 
       </span> 
      </td> 
     </tr> 
    </tbody> 
</table> 

Кроме того, в текущем языке, который я работаю, чтобы считывать значения из БД я должен использовать имя тега. Если кто-нибудь может помочь, пожалуйста, дайте мне знать. Спасибо.

ответ

3

Вы можете использовать селектор атрибута для извлечения элементов с помощью как их name и value. Попробуйте это:

$('input[name="CF-[Events]"][value="1"]').prop("checked", true); 

Working example

+0

В принципе, мой ответ в одной строке кода. + 1'd – Jorrex

+0

Могу ли я использовать имя класса вместо тега NAME для повторения? –

+2

Вы можете, '$ ('input.block [value =" 1 "]'). Prop (" checked ", true);' будет работать тоже. –

0
$("input[name='CF-[Events]']").each(function() { 
    if($(this).val() === "1") 
    { 
     $(this).prop("checked", true); 
    } 
}); 
+0

Могу ли я использовать имя класса вместо тега NAME? –

+0

См. Ответ Рори :) – Jorrex

+0

Когда я попытался использовать ваш пример с $ (this) .prop ("checked", true); это не сработало, если я использовал $ ('input.block [value = "1"]'). prop ("checked", true); затем работает. Вы знаете, может быть, почему? Я спрашиваю, потому что я хотел бы установить оператор if else. –

0

вы можете сделать это в JQuery каждой петле

$('.ClassName').each(function(i, o) { 
    // o is object in your case checkbox  
    // i is index 
    // your code 
}); 
+0

Как я сделал бы проверенные и непроверенные боксы на основе значения? –

1

Если вы не хотите, решение JQuery, можно также извлечь эти элементы с querySelector:

var inputs = document.querySelectorAll("input.block"); 
for(var i = 0; i < inputs.length; i++) { 
    inputs[i].checked = true; 
} 
+0

Я хотел бы использовать имя CLASS вместо тега NAME. –

Смежные вопросы