Jquery - 重复DropDown而不复制设置值

时间:2015-03-04 08:53:49

标签: jquery duplicates row default

我有以下代码复制表单行,包括下拉列表和输入字段。除了一个小问题外,这段代码完美无缺。

http://jsfiddle.net/8kvesskv/6/

第一行中输入的值将复制到新行。

无论如何都要复制行,但是新行的输入和下拉值都是默认值。即:下拉列表中没有选择任何项目,输入为空。

我试过这个问题:

$newRow.find('#BoxName').val($("#TemplateRow").find('#BoxName').val());
            $newRow.find('#BoxComparison').val($("#TemplateRow").find('#BoxComparison').val());
            $newRow.find('#BoxVal').val($("#TemplateRow").find('#BoxVal').val());

对此:

 $newRow.find('#BoxName').val($("#TemplateRow").find('#BoxName').val(''));
        $newRow.find('#BoxComparison').val($("#TemplateRow").find('#BoxComparison').val(''));
        $newRow.find('#BoxVal').val($("#TemplateRow").find('#BoxVal').val(''));

这导致新的违约,但也是第一行!

我有什么想法可以做到这一点吗?

2 个答案:

答案 0 :(得分:1)

使用此代码,您可以克隆行并重置字段值:

  var $newRow = $('#TemplateRow').clone(true).removeAttr('id');
  $newRow.find('#BoxName').val('');
  $newRow.find('#BoxComparison').val('');
  $newRow.find('#BoxVal').val('');    
  $newRow.find('input[name="DeleteBoxRow"]').prop('checked', false); //Example: search by name

见这里:http://jsfiddle.net/8kvesskv/9/

答案 1 :(得分:0)

为什么不在页面加载时将行存储在变量中,例如:

    newRow = "<tr>" + $("#TemplateRow").html() + "</tr>";

然后你在点击功能中所需要做的就是在按钮之前添加newRow,就像你已经在做的那样。