使用jquery匹配更改时输入的值

时间:2016-06-24 18:47:51

标签: javascript jquery input

我有两个输入,当我输入一个输入时,我希望它们具有相同的输入值。它有效但不是所有时间。 我将把代码留在这里:

$('#google-querynav').keypress(function() {
    var text = $(this).val();
    $('#google-querystat').attr('value', text);
})
$('#google-querystat').keypress(function() {
    var text = $(this).val();
    $('#google-querynav').attr('value', text);
})

感谢您的帮助

2 个答案:

答案 0 :(得分:3)

您需要使用changekeyup事件来完成这项工作。您也可以使用val()方法更改input而不是attr("value")的值。



$('#google-querynav').on("change keyup", function() {
    var text = $(this).val();
    $('#google-querystat').val(text);
})
$('#google-querystat').on("change keyup",function() {
    var text = $(this).val();
    $('#google-querynav').val(text);
})

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" id="google-querynav"/>
<input type="text" id="google-querystat"/>
&#13;
&#13;
&#13;

您可以使用更短的代码来执行此操作

$('#google-querynav, #google-querystat').on("keyup change", function() {
    var text = $(this).val();
    $('#google-querynav, #google-querystat').val(text);
})

jsfiddle

中测试

答案 1 :(得分:3)

使用keyup代替keypress。并使用val代替attr

&#13;
&#13;
$('#google-querynav').on('keyup change', function() {
    var text = $(this).val();
    $('#google-querystat').val(text);
})
$('#google-querystat').on('keyup change', function() {
    var text = $(this).val();
    $('#google-querynav').val(text);
})
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id="google-querynav">
<input id="google-querystat">
&#13;
&#13;
&#13;