2017-07-06 78 views
-1

現在,當第一行值發生變化時,第二行和第三行會相應更改。 問題是這樣的硬編碼,我不知道沒有行的,因爲它是從database.Any想法產生的?非常感謝當一個輸入值發生變化時設置輸入值jQuery

$("#A1").keyup(function() { 
 
    $("#B1").val($("#A1").val()); 
 
}); 
 

 
$("#A1").keyup(function() { 
 
    $("#C1").val($("#A1").val()); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<tr>  
 
<td><input type="text" id="A1" name="A" value=""></td> 
 
</tr><br> 
 
<tr>  
 
<td><input type="text" id="B1" name="A" value=""></td> 
 
</tr> 
 
<br> 
 
<tr>  
 
<td><input type="text" id="C1" name="A" value=""></td> 
 
</tr>

回答

1

從這裏給出其他答案不同,改變所有我認爲投入元素風險太大。我會建議id爲所有希望改變的輸入字段添加class,並根據此類將您的函數更改爲JQuery選擇器(在下面的示例中,我添加的類稱爲changable)。

$("#A1").keyup(function() { 
 
    $(".changable").val($("#A1").val()); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<tr>  
 
<td><input type="text" id="A1" class="changable" value=""></td> 
 
</tr><br> 
 
<tr>  
 
<td><input type="text" id="B1" class="changable" value=""></td> 
 
</tr> 
 
<br> 
 
<tr>  
 
<td><input type="text" id="C1" class="changable" value=""></td> 
 
</tr>

+0

非常感謝你,同意改變所有輸入元素太冒險 – epiphany

+0

@tam快樂的幫助,快樂的編碼。 –

+0

@KobyDouek你不覺得輸入:第一個選擇器甚至更好,因爲向所有人添加類是不必要的?順便說一下,你的解決方案是正確的 –

4

你可以選擇所有的投入和更新所有值。

$("#A1").keyup(function() { 
 
    $("input").val($("#A1").val()); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<tr>  
 
<td><input type="text" id="A1" name="A" value=""></td> 
 
</tr><br> 
 
<tr>  
 
<td><input type="text" id="B1" name="A" value=""></td> 
 
</tr> 
 
<br> 
 
<tr>  
 
<td><input type="text" id="C1" name="A" value=""></td> 
 
</tr>

此外,如果你想選擇一些你可以選擇用逗號分隔的多個ID。像這樣:

$("#A1").keyup(function() { 
    $("#B1, #C1").val($("#A1").val()); 
}); 
+0

謝謝你這麼多 – epiphany

+2

@tam它再次一個特定的(硬編碼),例如,你說行通過DB –

+0

這是正確的,THX的提醒動態生成不generic.As。事情是我只是意識到,在我的代碼中只有一行html寫,因爲其他行是通過db查詢的循環生成的。似乎這些答案不能適用,有什麼建議? – epiphany

1

您可以在HTML值分配給所有的投入,這樣的:

$("#A1").keyup(function() { 
 
    $("input").val($("#A1").val()); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<tr>  
 
<td><input type="text" id="A1" name="A" value=""></td> 
 
</tr><br> 
 
<tr>  
 
<td><input type="text" id="B1" name="A" value=""></td> 
 
</tr> 
 
<br> 
 
<tr>  
 
<td><input type="text" id="C1" name="A" value=""></td> 
 
</tr>