2011-08-04 5 views
3

선택 값이 변경 될 때 텍스트 필드에 선택 값을 복사하려고합니다.
내 코드선택 값에서 텍스트 값 복사

$(document).ready(function() { 
    $('#select').change(function() { 
     $('#text').val($('#select').val()); 
    }); 
}); 

나는 마우스를 사용하여의 선택 값을 변경,하지만 난 그것을 초점을 누르면 위/아래 화살표가 작동하지 않는 키 입력 할 때이 코드는 작동합니다.

+1

여전히 이벤트가 발생합니다 키보드로 변경하지만 요소가 포커스를 잃었을 때까지 실행되지 않습니다. –

답변

5

이것은 예상 된 동작이며 옵션을 선택해야만 실제 값이 변경됩니다. 위쪽/아래쪽 화살표를 사용하여 "enter"를 누르면 여전히 작동해야합니다.

당신은 시도하고 당신이 원하는 경우 더 많은 이벤트를 바인딩 할 수 있습니다, 예 :

$('#select').bind('change click keyup', function() { 
    $('#text').val($(this).val()); 
}); 

데모 : http://jsfiddle.net/Q2G9F/

3

당신은 당신의 .change 핸들러에 추가하여이 jQuery Watch Plugin을 시도 할 수? 뭔가 같은 :

$(document).ready(function() { 
    $('#select').change(onChange); 
    $("#select").watch('value', onChange); 

    function onChange(){ 
     $('#text').val($('#select').val()); 
    } 
}); 

그리고 당신은 물론 당신의 페이지에 그 플러그인을 포함해야합니다.

1
$('#select').keydown(function() 
{ 
    ... 
}); 

또는 작동합니다 필요에 따라

$('#select').keyup(function() 
{ 
    ... 
}); 

.

1

사용 :

$('#select').bind('change keypress click', function)