2017-12-20 11 views
1

나는 흐리게 처리 한 후 HTML 선택이 추가되고 사용자가 해당 선택 상자에서 옵션을 선택해야하는 시스템을 만들고 있습니다. 자신의 키보드에서 사용자를 눌러 동일한 값 키 내가 2를 눌러 것처럼 선택한 값이 있어야합니다 자동하지만 내가 선택한 값이 선택해야 필요 2.값 선택 키보드 버튼으로 선택

$('input').on('blur', function() { 
 
    $(this).after("<select class=\"form-control\"><option value=\"Option\">option</option><option value=\"2\">2 </option><option value=\"3\">3 </option><option value=\"4\">4</option><option value=\"5\">5 </option><option value=\"6\">6 </option><option value=\"7\">7 </option><option value=\"8\">8 </option></select>"); 
 
    $('.form-control').on('change', function() { 
 
    $('input').after('<span>' + $(this).val() + '</span>'); 
 
    $(this).hide(); 
 
    }) 
 
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input type="text">

+0

질문이 명확하지 않습니다. 스 니펫 당, 당신이 원했던대로 작동합니다. – 31piy

+0

@ 31piy 답장을 보내 주셔서 감사합니다.하지만 값을 선택하기 위해 마우스를 사용하고 싶지는 않습니다. 키보드에서 동일한 값 키를 누르면 해당 옵션이 자동으로 선택되고 입력 값 뒤에 값을 추가해야합니다. – Codexx

답변

0

간단하게 포커스를 설정 셀렉트 컨트롤에 자동 초점 속성을 부여하는 것과 같은 새로운 선택 컨트롤은 트릭을 수행해야합니다. 사용자는 다음 입력을 흐리게 경우는 선택 상자에 선택됩니다 입력의 일부 값이있는 경우

$('input').on('blur',function(){ 
 
$(this).after("<select class=\"form-control\" tabindex=\"1\" autofocus><option value=\"Option\">option</option><option value=\"2\">2 </option><option value=\"3\">3 </option><option value=\"4\">4</option><option value=\"5\">5 </option><option value=\"6\">6 </option><option value=\"7\">7 </option><option value=\"8\">8 </option></select>"); 
 
$('.form-control').on('change',function(){ 
 
$('input').after('<span>'+$(this).val()+'</span>'); 
 
$(this).hide(); 
 
$('.text-control').val($('input').val() + $(this).val()); 
 
}); 
 
$('.form-control').focus(); 
 
})
<script 
 
src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"> 
 
</script> 
 
<input type="text" class="text-control">

+0

귀하의 피들을 업데이 트했습니다 : https://jsfiddle.net/vsv5Lp5u/7/ –

+0

응답을 위해 @tony mathew에 감사하지만, 내 키보드에서 동일한 값 키를 누르면 선택 값을 얻는 방법 – Codexx

+0

@Codexx for me works! 텍스트 상자에 뭔가를 입력하거나 다른 곳을 클릭하거나 탭을 눌러 흐리게 처리하고 포커스를 새 선택에 놓은 다음 3을 누르면 선택 항목에 값이 설정됩니다. Chrome 및 IE에서 확인되었습니다. 설정하려는 텍스트 상자입니까? –

0

당신은 선택 상자 그리고

을 보여

나는이 도움말을 희망

$('input').on('blur', function() { 
 
    // check if the select is already present in the DOM 
 
    if (!$(".form-control").length) { 
 
    // get the input value 
 
    var inputVal = $(this).val(); 
 
    
 
    // we start the select form before the loop 
 
    var form = "<select class=\"form-control\"><option value=\"Option\">option</option>"; 
 

 
    // we loop from 2 to 8 
 
    for (i = 2; i < 9; i++) { 
 
     // if the selected value from the input match with the value of the loop var then we selected it 
 
     var selected = (i == inputVal ? " selected" : ""); 
 
     form += "<option value=\"" + i +"\"" + selected + ">" + i +" </option>"; 
 
    }; 
 

 
    // we the the closing tag for the select 
 
    form += "</select>"; 
 
    
 
    // we inject the form after the input 
 
    $(this).after(form); 
 
    } 
 
    
 
    $('input').on('change', function() { 
 
    // the value change in input so we get it 
 
    var newVal = $.trim($(this).val()); 
 
    // we remove all selected attribut of all option in select 
 
    $(".form-control option").removeAttr('selected'); 
 
    // then we add the selected attribut to the right option 
 
    $('.form-control option[value="'+ newVal +'"]').prop("selected","selected"); 
 
    }) 
 
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input type="text">

+0

코드 작성 대신, 코드가 문제를 해결하는 이유를 설명하면 독자에게 도움이 될 것입니다. – 31piy

+0

내 코드를 더 자세히 설명합니다. 죄송합니다. –