将div属性的值添加到INPUT

时间:2015-05-15 10:34:48

标签: jquery

努力增加div的价值'属性为输入:

我的HTML是:

  <div class="modal-body" client-name="test1">
      <input class="gform_hidden"/>
  </div>
  <div class="modal-body" client-name="new name">
      <input class="gform_hidden"/>
  </div>
  <div class="modal-body" client-name="test3">
      <input class="gform_hidden"/>
  </div>

和jQuery代码:

  $('.modal-body').each(function () {
     var cname = $(this).attr('client-name');
     $('input.gform_hidden').val(cname);
 });

任何人都可以帮助我获得个人价值而不是最后一个。

请参阅下面的jsfiddle:http://jsfiddle.net/9nph7eyc/

4 个答案:

答案 0 :(得分:2)

您需要使用当前上下文setIframeHeight("iframe");以及查找选择器来查找其中的输入元素:

this

<强> Working Demo

答案 1 :(得分:1)

对于每个输入字段,您需要传递其父元素的值client-name属性值

$('.modal-body input.gform_hidden').val(function () {
    return $(this).parent().attr('client-name')
});

演示:Fiddle

在你的代码中,问题是$('input.gform_hidden').val(cname);,在每次迭代中你改变所有输入元素的值而不是仅针对一个输入,所以在循环结束时所有输入元素都有值最后一次迭代。

答案 2 :(得分:1)

首先,您应该修改HTML以使用data-*属性来存储自定义信息。按原样创建自己的属性可能会导致JS和/或UI问题:

<div class="modal-body" data-client-name="test1">
    <input class="gform_hidden" />
</div>
<div class="modal-body" data-client-name="new name">
    <input class="gform_hidden" />
</div>
<div class="modal-body" data-client-name="test3">
    <input class="gform_hidden" />
</div>

您可以在此处访问此data属性以填充input的值:

$('input.gform_hidden').val(function() {
    return $(this).closest('div').data('client-name');
});

Example fiddle

答案 3 :(得分:1)

试试这个Demo,无论如何你都得到div attr的值,但你需要指出要打印的特定输入。

$('.modal-body').each(function() {
    var cname = $(this).attr('client-name');
    console.log(cname)
    $(this).find('.gform_hidden').val(cname);
});