가장 가까운 체크 박스를 제외한 모든 메뉴 (모든 메뉴 내)를 선택 해제하는 체크 박스 메뉴에 '전용'버튼을 만들려고합니다. 확인란 메뉴에 '유일한'버튼을 만드는 방법은 무엇입니까?
나는 작동하는 몇 가지 코드를 가지고 있지만, 그것은 해킹의 일종 대신 내가 좋아하는 1 개 라인 뭔가 말씀을 전합니다 :
- 경우 $ (이) .closest ('. 또한
같이 체크 박스를 떠나 다른, 다음 취소checked
입니다 입력 ')'). (찾기 ', 나는 사용자가 실제로 CL로 발사 할 수있는 이벤트가 필요합니다 icked (triggerHandler
)입니까?
$('.only').on('click', function() {
$(this).closest('.checkbox').find('input').prop('checked', false);
$(this).closest('.row').find('input').prop('checked', true);
$(this).closest('.checkbox').find('input').prop('checked', false);
$(this).closest('.row').find('input').trigger('click');
});
.only {
border: 1px solid rgb(115, 135, 156);
float: right;
border: 1px;
border-radius: 5px;
padding-right: 7px;
padding-left: 7px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="checkbox">
<div class="row">
<div class="right">
<div class="only">only</div>
</div>
<label>
<input name="countryOriginMenu" value="Not provided" checked="checked" type="checkbox">
<span>Frist</span>
</label>
</div>
<div class="row">
<div class="right">
<div class="only">only</div>
</div>
<label>
<input name="countryOriginMenu" value="Not provided" checked="checked" type="checkbox">
<span>Second</span>
</label>
</div>
<div class="row">
<div class="right">
<div class="only">only</div>
</div>
<label>
<input name="countryOriginMenu" value="Not provided" checked="checked" type="checkbox">
<span>Third</span>
</label>
</div>
</div>
https://jsfiddle.net/2m0cu795/
:
내가 OP에서 언급 한 바와 같이, 나는 조건부/선택 해제를 선택해야합니다. 이유 중 하나는 상자를 선택하지 않으면 트리거하는 오류 메시지가 있다는 것입니다. – Dambo
나는 당신이 무슨 뜻인지 이해하지 못한다. 조건부의 예는 "선택하면 선택 취소합니다. 그렇지 않으면 선택을 해제합니다"라고 말합니다. 왜 조건부가 필요합니까? 그 경우 결과는 동일합니까? – amcdrmtt
당신의 (그리고 저의) 솔루션이하는 것이 아닙니다. 나는 또한 체크 박스가 필터이고 클릭 이벤트가 없다면 재 계산이 트리거되지 않는 대시 보드를 가지고 있기 때문에 사용자 클릭을 시뮬레이트 할 필요가있다. 나는 JQuery에 익숙하지 않지만 내 이해는'prop (' checked ', true)'버튼의 모양 만 변경합니다. 알았어. – Dambo