2017-06-16 76 views
1

我在尝试复制表单输入项。是否有可能使用ID或类使用JavaScript指定特定的输入和输出字段?重复表单域输入

在这个例子中,我试图复制从ID1的条目,并把它输出到UNIQUEID。但是,所有字段都受到影响。我如何指定ID?

<form> 
<input type="text" id="id1" name="" value="" /> 
<input type="text" id="id2" name="" value="" /> 
<input type="text" id="uniqueid" value=""> 
</form> 


var $unique = $('input[type="text"]').mousemove(function(){ 
$unique.val(this.value); 
}); 
+0

请参阅jQuery的[ID选择器](https://api.jquery.com/id-selector/)。 – showdev

回答

2

我觉得你的电线都有点穿越这里。您可以使用#选择器通过它的ID选择一个元素。

让我们把这种更清晰一点通过分离出来:

var $id1 = $("#id1");   //Store id1 input 
 
var $unique = $("#uniqueid"); //Store uniqueid input 
 

 
$id1.mousemove(function() { //On mousemove event of id1 
 
    $unique.val($(this).val()); //Set unique's value to id1's value 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<form> 
 
    <input type="text" id="id1" name="" value="" /> 
 
    <input type="text" id="id2" name="" value="" /> 
 
    <input type="text" id="uniqueid" value=""> 
 
</form>

d4nyll提及在下面的意见,如果你只是想更新uniqueid现场随时id1变化,那么您应该将.mousemove()更改为.keyup()

+1

我也不会使用'mousemove'事件。改用'onchange'事件。 – d4nyll

+0

这个变化完全基于假设,因为OP没有明确说明他的意图。此外,'onchange'不是一个jQuery事件(它是'.change()'),它只在退出输入时触发。更准确的事件可能是'.keyup()'。 – Santi

+0

谢谢你的帮助和建议。 –