2011-03-31 4 views
2

양식에서 2 개의 다른 텍스트 입력 필드를 확인하는 기능이 동일합니다. 확인란을 선택하면 텍스트 입력 필드 중 하나에서 실행하는 함수가 필요합니다. 확인란을 선택하지 않으면 다른 텍스트 입력 필드에서 실행하는 기능이 필요합니다.확인란이 선택되었는지 여부에 따라 기능 변경

<input id="use_different_addresses" type="checkbox" value="1" name="use_different_addresses" />Use different address<br /> 

은 기본적으로 체크 박스를 선택하지 : 여기

체크 박스입니다. 선택 해제 할 때, 나는 실행하려면이 기능이 필요합니다

확인란이 선택되어
$('#customer_country_name').change(function() { 
    if ($('#customer_country_name').val() != 'United States') { 
     $('.radio_us').hide(); 
    } 
    else { 
     $('.radio_us').show(); 
    } 
}); 

, 내가 실행하려면이 기능이 필요합니다

$('#shipping_country_name').change(function() { 
    if ($('#customer_country_name').val() != 'United States') { 
     $('.radio_us').hide(); 
    } 
    else { 
     $('.radio_us').show(); 
    } 
}); 

감사합니다!

그냥

$('#customer_country_name').change(function() { 
    if (!$('#use_different_addresses').is(':checked')) { 
    ... 
    } 
} 

$('#shipping_country_name').change(function() { 
    if ($('#use_different_addresses').is(':checked')) { 
    ... 
    } 
} 

는 편집이

OP 그들이 원하는 것을 의견에 명확히 checked 상태에 따라 실행 여부를 결정하기 위해, 각 방법의 상단에 수표를 추가하지 왜

답변

0

가 마지막으로 여기서 일있어 트리거 .toggle()을 사용할 수 있습니다 가장 예쁜 jQuery가 아니다. (나는 내가 초보자라는 것을 인정한다.)하지만 작동한다. :)

2

확인란을 선택했을 때 특정 라디오 상자를 숨 깁니다.

http://jsfiddle.net/4UkTP/

그것은 아마 : 여기에 내가 더 마크 업을 보지 않고

$('#use_different_addresses').change(function() { 
    if ($('#use_different_addresses').is(':checked')) { 
    $('.radio_us').hide(); 
    } else { 
    $('.radio_us').show(); 
    } 
}); 
+0

안녕하세요 JaredPar, 입력 해 주셔서 감사합니다. 나는 당신이 말하는 것에 대한 개념을 얻었지만, 어떤 이유로 그것을 통합하려는 시도는 효과가 없었습니다. 나는 내가 한 일의 코드를 넣었다 : http://jsfiddle.net/flinx777/c2PCT/ ... 내가 뭘 잘못했는지는 분명하다. – flinx777

+0

@ flinx777 그 응용 프로그램에서 어떤 행동을 기대합니까? – JaredPar

+0

내가 찾고있는 동작은 누군가가 입력 텍스트 상자에서 해당 국가의 값을 변경하는 경우입니다. 미국이 아닌 경우 "radio_us"클래스의 레이블을 숨길 것입니다. 문제는 사용자가 국가를 입력 할 수있는 2 개의 입력 텍스트 필드가 있다는 것입니다. id가 "use_different_addresses"인 체크 박스가 선택되어 있지 않으면 "customer_country_name"이라는 ID를 가진 입력에서 my 함수를 실행해야하지만, 체크 박스가 선택되면 id가 인 입력 필드에서 my 함수를 실행해야합니다. "shipping_country_name". 희망을 명확히하는 데 도움이됩니다. – flinx777

1

을 시스템 권장 솔루션, 당신은 .change()

$("#use_different_addresses").toggle(function(){ 
    $('#customer_country_name').change(); 
}, function(){ 
    $('#shipping_country_name').change(); 
}); 
관련 문제