Jquery - 复制 DropDown 而不复制设置值
Jquery - Duplicate DropDown without copying set value
我有以下代码,它复制了一个表单行,包括下拉列表和输入字段。除了一个小问题外,这段代码运行完美。
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(''));
这导致新的被默认,但也是第一行!
有什么办法可以做到这一点吗?
为什么不在页面加载时将行存储在变量中,例如:
newRow = "<tr>" + $("#TemplateRow").html() + "</tr>";
然后您需要在点击功能中做的就是像您已经在做的那样在按钮前添加 newRow。
使用此代码,您可以克隆该行并重置字段值:
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/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(''));
这导致新的被默认,但也是第一行!
有什么办法可以做到这一点吗?
为什么不在页面加载时将行存储在变量中,例如:
newRow = "<tr>" + $("#TemplateRow").html() + "</tr>";
然后您需要在点击功能中做的就是像您已经在做的那样在按钮前添加 newRow。
使用此代码,您可以克隆该行并重置字段值:
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