제목이 다소 모호합니다. 그럼 설명해 드리겠습니다.여러 라디오 버튼 중 하나 선택
사용자가 약속을 원하는 날짜를 선택할 수있는 페이지가 있습니다. 이 다른 두 번 반복됩니다
<input type="radio" class="my-radio" value="monday" name="my_form[day][choice1][]"
id="monday1"/>
<label for="monday1">Monday</label>
<input type="radio" class="my-radio" value="tuesday" name="my_form[day][choice1][]"
id="tuesday1"/>
<label for="tuesday1">Tuesday</label>
<input type="radio" class="my-radio" value="wednesday" name="my_form[day][choice1][]"
id="wednesday1"/>
<label for="wednesday1">Wednesday</label>
<input type="radio" class="my-radio" value="thursday" name="my_form[day][choice1][]"
id="thursday1"/>
<label for="thursday1">Thursday</label>
<input type="radio" class="my-radio" value="friday" name="my_form[day][choice1][]"
id="friday1"/>
<label for="friday1">Friday</label>
<input type="radio" class="my-radio" value="saturday" name="my_form[day][choice1][]"
id="saturday1"/>
<label for="saturday1">Saturday</label>
: 첫 번째 선택이
라디오 버튼의 HTML 가득했습니다 까봐 그러나, 우리는이 일을 위해 그들에게 여러 선택을 제공합니다. 그러나 ID는 변경되고 이름도 그대로 유지됩니다. 두 번째로는 (월요일); id = monday2, name = my_form [day] [choice2] [], 등등.
그래서 분명히하십시오. 3 행의 라디오, 모두 같은 값이지만 ID와 이름이 다릅니다.
이제 월요일을 선택하면 어떤 행에 상관없이 다른 모든 월요일을 사용 중지하려고합니다. 이제 화요일을 선택하면 모든 월요일을 다시 활성화해야합니다.
첫 번째 부분은 jQuery로 작업했습니다.
jQuery('.my-radio').change(function() {
// Get all elements associated to value, but the currently selected radio.
var associates = jQuery('.my-radio[value="' + jQuery(this).val() + '"]').not("#" + jQuery(this).attr('id'));
// Disable every element that we found
jQuery(associates).each(function(){
jQuery(this).prop('disabled', true);
});
});
내 유일한 문제는 두 번째 부분입니다. 이전에 비활성화 된 라디오를 다시 활성화하십시오.
JSFiddle을 사용하면 좀 더 명확 해집니다. http://jsfiddle.net/Hr9h2/1/
편집 : 답변 해 주셔서 감사합니다.
그러나 예를 들어 월요일을 세 번 또는 두 번까지 선택할 수 없다는 사실을 잊어 버렸습니다.
나는 이것이 필요한 OP에서 수행하는 유일한 대답이라고 생각합니다. OP가 찾고 있던 기능을 파괴하면서 다른 모든 대답은 단순화되었습니다. 잘 했어! – Charlie74
@ Charlie74 - 그것이 내가 게시 한 이유입니다. 전에이 기능을 여러 번 만들었습니다. 질문을 올바르게 이해했다면 루프가 상자에 모든 줄 등을 체크 할 때 작동하는지 확인해야합니다. – adeneo
정확히 내가 뭘 찾고 있었는지. Apperantly 나는 그것에 대해 열심히 조금 생각하고 있었는데, 이제 나는 그것을 보았다. 고마워! –