为什么动态输入字段不采用值?

时间:2016-06-16 15:30:44

标签: javascript php jquery html

我使用java脚本函数添加行,方法是输入并将数据显示到输入文本字段中。

我正在使用此日期选择器https://github.com/T00rk/bootstrap-material-datetimepicker

当我输入时间时,唯一的第一个时间值被复制到输入字段,而其余两个值被复制,但时间值不被复制。

var account = new Account();
var operation = new Operation();

account.Operations = new List<Operation>() { operation };
account.LastOperation = operation;

dbContext.Accounts.Add(account);
dbContext.SaveChanges();

<div style="width:90%;margin:auto;">
<h1>Simple example of dynamically adding rows with jQuery</h1>

<form method="post">
<div id="itemRows">

Item quantity: <input type="text" name="add_qty" size="4" /> Item name: <input type="text" name="add_name" />Time:<input type="text" id="time" name="time"   />



(This row will not be saved unless you click on "Add row" first)

<input onclick="addRow(this.form);" type="button" value="Add row" /> 

    </div>

    <p><input type="submit" name="ok" value="Save Changes"></p>
</form>

enter image description here

1 个答案:

答案 0 :(得分:0)

当您生成带有id和日期选择器的动态文本框时,您需要在该文本上调用init datepicker的一个函数,如下所示

$('input').bootstrapMaterialDatePicker();

function addRow(frm) 
{
    rowNum ++;
    var row = '<p id="rowNum'+rowNum+'">Item quantity: <input type="text" name="qty[]" size="4" value="'+frm.add_qty.value+'">Time<input type="text" id="time'+rowNum+'" name="time[]" size="4" value="'+frm.time.value+'" > Item name: <input type="text" name="name[]" value="'+frm.add_name.value+'"><input type="button" value="Remove" onclick="removeRow('+rowNum+');"></p>';

    jQuery('#itemRows').append(row);
    frm.add_qty.value = '';
    frm.add_name.value = '';
    frm.time.value = '';
    $('#time'+rowNum).bootstrapMaterialDatePicker();
}

在上面的函数中,我在时间文本框中添加一个id,并在该文本框上调用bootstrap datepicker到init日期。

请参阅此处的工作演示

http://plnkr.co/edit/P0ZQsAjDJAXyJGs9kvT3?p=preview