JQuery根据标签获取输入字段值

时间:2017-12-08 01:50:33

标签: javascript jquery html

我需要将第一个输入框的值复制到第二个输入框。这些输入框的ID和名称来自表格。修复的将是“代码”和“复制代码”等标签

<label>Code</label>
<input type="text" value="1234"  id="custcode_1" />

<label>Copy Code</label>
<input type="text" value=""  id="custcode_2" />

对于正常情况,它只是

$('#custcode_2').val($('#custcode_1').val());

但是id或名称是动态生成的,所以这是不可能的。如何使用输入框的标签来实现这一点 谢谢你的帮助。

5 个答案:

答案 0 :(得分:0)

我认为您可以将数据值存储在data- attributes:

<label id="code" data-value="1234">
<label id="copy_code" data-value="">

然后使用

将代码值复制到copy_code
$('#copy_code').data('value', $('#code').data('value'))

答案 1 :(得分:0)

您可以遍历输入并在此循环中获取当前输入的上一个输入。从那里你就具备了它的价值。

&#13;
&#13;
$('input').each(function(i, e) {
  var previousSibling = $(this).prevAll('input').first();
  
  if (previousSibling.length) {
    $(this).val(previousSibling.val());
  }
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<label>Code</label>
<input type="text" value="1234" id="custcode_1" />

<label>Copy Code</label>
<input type="text" value="" id="custcode_2" />
&#13;
&#13;
&#13;

答案 2 :(得分:0)

您可以使用类将元素包装在span或div中,然后将其用作范围。

<span class="custWrapper">
<label>Code</label>
<input type="text" value="1234"  id="custcode_1" />

<label>Copy Code</label>
<input type="text" value=""  id="custcode_2" />
</span>

$('.custWrapper').on('load', function(){
    var inpts = $(this).find('input');

    $(inpts[1]).val($(inpts[0]).val());
});

答案 3 :(得分:0)

在为{2}标签提供const module1 = require('./module1') const module2 = require('./module2') module1() // "i am module 1" or "i am module 2"? module2() // "i am module 2" 之后,您可以尝试这样的事情。

<强> HTML:

id

<强> JQuery的:

<label id='Code'>Code</label>
<input type="text" value="1234"  id="custcode_1" />

<label id='CopyCode'>Copy Code</label>
<input type="text" value=""  id="custcode_2" />

答案 4 :(得分:0)

您可以使用此代码

//Find the input textbox with label Code
var $copy = $('label').filter(function () {
    return this.firstChild.nodeValue.trim() === 'Code';
}).next('input');

//Find the input textbox with label Copy Code
var $copycode = $('label').filter(function () {
    return this.firstChild.nodeValue.trim() === 'Copy Code';
}).next('input');

//Copy the value
$copycode.val($copy.val());

//Copy the value as character typed into the textbox
$('input').on('keyup',function(){
$copycode.val($copy.val());
});