2011-10-28 4 views
1

JQuery에 문제가 있습니다. 무선 입력 2 세트, 결제 방법 선택 용 및 배송 용 세트 2 개가 있습니다. 픽업시 지불금을 선택했다면 제 두 번째 라디오가 필요합니다. 두 번째 라디오를 변경하기 전까지는 제대로 작동하지만 이후에는 작동하지 않습니다.JQuery 입력 라디오가 한 번만 작동합니다.

기본적으로 배송 변경 후 결제 수단을 변경할 때 발송물이 자동으로 변경되지 않습니다.

$("input:radio[name=paymentMethod]").change(function() { 
     if($(this+':checked').val()=='pickUp'){ 
      $('input:radio[name=deliveryMethod]').filter('[value=pickUp]').attr('checked', true); 
      $('input:radio[name=deliveryMethod]').filter('[value=UPS]').attr('checked', false); 
     } 
    }); 
+0

당신이 관련 HTML을 게시하시기 바랍니다 수 있을까? – jackJoe

+0

이 (테이블 구조없이)

    \t \t \t  Delivery by UPS  Pick up
PvdL

+0

html에 이름이 누락되어 있으며 입력을 닫는 것은 아마도 붙여 넣기 방법과 관련이 있습니다. 귀하의 문제와 관련하여 지불시 UPS를 선택하지 않으면 픽업 (납품)을 확인 하시겠습니까? 다른 지불 방법을 선택하면 되돌릴 수 있습니다 (배송 확인). – jackJoe

답변

1

당신이, 내가 다음 UPS 전달 방법을 사용하지 않도록 설정 (및 권장 "블록"사용자가 픽업 지불 방법을 선택 할 때마다 UPS 전달의 선택하려면 경우 다시 활성화 : 적어도 아래의 코드를 사용 이 같은) 선택 뭔가 다른 :

$("input:radio[name=paymentMethod]").change(function() { 
    if ($('input:radio[name=paymentMethod]:checked').val() == 'pickUp') { 
     $('input:radio[name=deliveryMethod]').filter('[value=pickUp]').attr('checked', true); 
     $('input:radio[name=deliveryMethod]').filter('[value=UPS]').attr('disabled', true); 
    } else { 
     $('input:radio[name=deliveryMethod]').filter('[value=UPS]').attr('disabled', false); 
    } 
}); 

바이올린 : http://jsfiddle.net/zvcbz/

1

this는 jQuery를 객체, 하지 문자열입니다. 함께 추가 할 수는 없습니다.

$("input:radio[name=paymentMethod]").change(function() { 
     if($('input:radio[name=paymentMethod]:checked').val()=='pickUp'){ 
      $('input:radio[name=deliveryMethod]').filter('[value=pickUp]').attr('checked', true); 
      $('input:radio[name=deliveryMethod]').filter('[value=UPS]').attr('checked', false); 
     } 
    }); 
관련 문제