我在下面尝试了这个。
$('#btn3').click(function() {
$('.test3').val($('.bbb').val());
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button type="button" id="btn3">Copy Each hidden value to text value</button><br>
<input type="hidden" class="bbb" value="10"><br>
<input type="text" class="test3" value="15"><br>
<input type="hidden" class="bbb" value="40"><br>
<input type="text" class="test3" value="60"><br>
<input type="hidden" class="bbb" value="100"><br>
<input type="text" class="test3" value="110"><br>
我会以精确的价值为每个领域工作。单击“将每个隐藏值复制到文本值”按钮时,该值应为10,40,100。
答案 0 :(得分:2)
您发布的代码需要获得的结果。如果您希望为每个test3
分配前面的元素值(bbb
),请在元素循环中使用.prev()
函数。
$('#btn3').click(function(){
$('.test3').each(function(){
$(this).val($(this).prev('.bbb').val());
});
});
答案 1 :(得分:1)
$('#btn3').click(function(){
$('.test3').each(function(key){
$(this).val($(".bbb").get(key).value);
});
});
&#13;
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<button type="button" id="btn3">Copy Each hidden value to text value</button><br>
<input type="hidden" class="bbb" value="10"><br>
<input type="text" class="test3" value="15"><br>
<input type="hidden" class="bbb" value="40"><br>
<input type="text" class="test3" value="60"><br>
<input type="hidden" class="bbb" value="100"><br>
<input type="text" class="test3" value="110"><br>
&#13;
答案 2 :(得分:0)
要实现此目的,您可以将函数传递给val()
,该函数会从距离给定.bbb
元素最近的.test3
中检索值:
$('#btn3').click(function() {
$('.test3').val(function() {
return $(this).prevAll('.bbb:first').val();
});
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button type="button" id="btn3">Copy Each hidden value to text value</button><br>
<input type="hidden" class="bbb" value="10"><br>
<input type="text" class="test3" value="15"><br>
<input type="hidden" class="bbb" value="40"><br>
<input type="text" class="test3" value="60"><br>
<input type="hidden" class="bbb" value="100"><br>
<input type="text" class="test3" value="110"><br>
&#13;
请注意,您需要在此使用prevAll()
,因为.bbb
和.test3
元素不是兄弟姐妹,因为它们之间有<br />
。