2011-08-17 3 views
0

양식에 몇 개의 체크 상자가 있으며 확인란을 선택하면 해당 값을 변경해야합니다.jQuery를 통해 확인란의 값을 변경하십시오.

예를 들어이 확인란 중 하나입니다

<input type="checkbox" name="drink" value=""/> 

나는 .val()는 변경할 수 있지만 내가 if 문을 사용하여이 작업을 수행 할 수 없습니다 알고있다.

미리 답변 해 주셔서 감사합니다.

+0

확인되는 확인란이 다른 확인란을 변경합니까? 귀하의 질문에 대한 세부 사항이 없습니다 –

답변

1
// attach an onchange handler to all checkboxes on the page 
$("input[type='checkbox']").change(function() { 

    // or if($(this).prop("checked")) { 
    if(this.checked) { 
     $(this).val("value for checked"); 
    } else { 
     $(this).val("value for unchecked"); 
    } 
}); 
  • onchange 이벤트는 당신이 그것의 체크 상태를 변경할 때마다이 발사대로, 체크 박스에 올 때 당신이 관심을 가져야 하나입니다.
  • checked 속성은 확인란의 선택 여부를 결정합니다.
  • .val() 메서드를 사용하면 요소 값을 편리하게 읽고 쓸 수 있습니다.
+0

카림 감사합니다. – Nima

3

당신은 체크 박스에 클릭 이벤트 리스너를 추가 할 수 있습니다 : 당신이 추구하는 것은 실제로 매우 의미가

$('input[name="drink"]').click(function() { // when click on it 
    if ($(this).attr('checked')) {   // if the checkbox is checked 
     $(this).val("value #1");    // change the value 
    } else {        // otherwise if is unchecked 
     $(this).val("value #2");    // change the value 
    } 
}); 
+3

'change' 이벤트에 리스너를 연결하는 것이 좋습니다. 확인란의 상태는 키보드로 변경 될 수 있지만 코드는이를 캡처하지 않습니다. –

4

. 양식이 제출되면 체크 박스 체크 박스 만 실제로 값을 전송하므로 확인되지 않은 체크 박스의 경우 값을 변경하는 것은 의미가 없습니다.


더 나은 솔루션

대신 그 방법을 "확인"값을주고, 그것을 유지해야한다, 그것도 값을 변경하지 않고 제대로 제출 일으킬 것이다.

+0

나는 나의 목적을 설명하지 않았고, 나는 내가 프로젝트를 끝내기 위해 실종되었다는 부분을 물었다. 다른 해답은 내 문제를 해결했습니다. 해답을 고맙습니다. – Nima

관련 문제