2013-07-31 2 views
0

일부 검색 프로세스의 값을 가져 오는 폼을 코딩하고 있습니다. 사용자가 입력 할 수 있도록 두 개의 텍스트 필드를 코딩하고 있습니다. 하지만 한 번에 하나만 활성화 할 수 있습니다. 확인란을 선택하여 옵션을 선택할 수 있습니다. 기본적으로 필드 중 하나가 활성화되어야합니다. 확인란이 선택되었을 때 (처음에 활성화 된 항목) 비활성화되고 다른 항목은 활성화되고, 반대의 경우는 확인란 선택이 취소됩니다.On 하나의 입력이 비활성화되고 다른 하나가 활성화됩니다.

여기 is 바이올린 :

http://jsfiddle.net/awBvq/224/

+0

링크를 수정하고 질문 –

+0

그리고 어디에 문제가/당신의 질문은 무엇에 우리에게 관련 HTML과 자바 스크립트를 적어주세요? 우리는 ** 당신을 위해 코딩을하지 않습니다 **. – ComFreek

+0

좋아요, 나는 당신의 바이올린을 보았습니다, 그러나 당신의 묘사와 당신의 바이올린은 일치하지 않습니다. 귀하의 바이올린은 두 필드를 모두 사용할 수있게합니다. 당신이 원하는 것은 무엇입니까? – pjmorse

답변

1

HTM L :

<input type="text" name="" /> 
<input type="checkbox" name="" /> 
<input type="text" name="" disabled="'disabled'"/> 

JS :

$(':checkbox').change(function(){ 
    if ($(this).is(':checked')) { 
     $(this).prev().attr('disabled','disabled'); 
     $(this).next().removeAttr('disabled'); 
    } else { 
     $(this).next().attr('disabled','disabled'); 
     $(this).prev().removeAttr('disabled'); 

    } 
}); 
0

그것은 간단 할 수 있었다, 그러나 이것은 단지 힌트 :

if($("#CheckBox").is(":checked")) 
{ 
    $("#Field1").attr("disabled","disabled"); 
    $("#Field2").removeAttr("disabled"); 
} 
else 
{ 
    $("#Field1").removeAttr("disabled"); 
    $("#Field2").attr("disabled","disabled"); 
} 
0

간단한 논리 :

(1)으로 기본값은 텍스트 상자 중 하나를 비활성화합니다.

(2) .prev() 또는 .next()을 사용하여 아무도 사용할 수 없는지 확인하십시오.

(3) 그렇다면 사용하도록 설정하고 다른 하나는 사용하지 않도록 설정합니다.

HTML :

<input type="text" name="" disabled/> <!--By default it is disabled--> 
<input type="checkbox" name="" /> 
<input type="text" name="" /> 

자바 스크립트 :

$(':checkbox').change(function() { 
    if ($(this).prev().is(':disabled')) { 
     $(this).prev().removeAttr('disabled'); 
     $(this).next().attr('disabled', 'disabled'); 
    } else { 
     $(this).next().removeAttr('disabled'); 
     $(this).prev().attr('disabled', 'disabled'); 
    } 
}); 

확인이 문제가 해결됩니다 JSFiddle

관련 문제