Трудный вопрос для понимания, я уверен, поэтому я покажу вам, что я пытаюсь сделать:
Допустим, у меня есть следующие флажки HTML:
<input type="checkbox" id="selectAll" /> Select All
<input type="checkbox" name="addressId" value="100" uid="1" /> Address 100
<input type="checkbox" name="addressId" value="101" uid="2" /> Address 101
<input type="checkbox" name="addressId" value="102" uid="3" /> Address 102
<input type="checkbox" name="addressId" value="103" uid="4" /> Address 103
<input type="checkbox" name="addressId" value="104" uid="2" /> Address 104
<input type="checkbox" name="addressId" value="105" uid="4" /> Address 105
<input type="checkbox" name="addressId" value="106" uid="5" /> Address 106
В настоящее время я использую следующую логику Select All jQuery:
$("#selectAll").change(function() {
if ($(this).is(":checked"))
$("input[name='addressId']").attr("checked", "").removeAttr("checked").attr("checked", "checked");
else
$("input[name='addressId']").attr("checked", "").removeAttr("checked");
});
По сути, мне нужно обновить эту логику, чтобы только флажок FIRST для каждого набора флажков, имеющих соответствующее значение uid
(например, адреса 101 и 104 иметь совпадающее значение uid
-2). Таким образом, в вышеприведенном примере будут выбраны только адресные идентификаторы 100, 101, 102, 103 и 106, а 104 и 105 останутся невыбранными. Как я могу сделать это в JQuery? Я просто не могу понять, селектор!
Спасибо.