Javascript jquery和输入选择

Javascript jquery和输入选择,javascript,jquery,html,Javascript,Jquery,Html,非工作代码的JS小提琴: 使用下面的代码,每当用户单击按钮添加一行时,我就可以动态地将项目添加到我的html正文中。最上面的一行只是一个复选框,但我无法让选择输入行工作 var addNewRow = function(id){ html = '<tr id="tr_'+i+'">'; html += '<td><input class="case" id="caseNo_'+i+'" type="checkbox"/></td>'; html

非工作代码的JS小提琴:

使用下面的代码,每当用户单击按钮添加一行时,我就可以动态地将项目添加到我的html正文中。最上面的一行只是一个复选框,但我无法让选择输入行工作

var addNewRow = function(id){
html = '<tr id="tr_'+i+'">';
html += '<td><input class="case" id="caseNo_'+i+'" type="checkbox"/></td>';
html += '<td class="prod_c"><input type="text" data-type="productCode" name="data[InvoiceDetail]['+i+'][product_id]" id="itemNo_'+i+'" class="form-control autocomplete_txt" autocomplete="off">';
html +='<span class="add_icon hide" id="add_icon_'+i+'"> <i class="fa fa-plus-circle"></i></span>';
html +='</td>';

html += '<td><input type="text" data-type="productName" name="data[InvoiceDetail]['+i+'][productName]"  id="itemName_'+i+'" class="form-control autocomplete_txt" autocomplete="off"></td>';
html += '<td><input type="text" name="data[InvoiceDetail]['+i+'][price]" id="price_'+i+'" class="form-control changesNo" autocomplete="off" onkeypress="return IsNumeric(event);" ondrop="return false;" onpaste="return false;"></td>';

html += '<td><input type="text" name="data[InvoiceDetail]['+i+'][quantity]" id="quantity_'+i+'" class="form-control changesNo quanyityChange" autocomplete="off" onkeypress="return IsNumeric(event);" ondrop="return false;" onpaste="return false;">';
html += '<input type="hidden" id="stock_'+i+'"/>';
html += '<input type="hidden" id="stockMaintainer_'+i+'" name="data[InvoiceDetail]['+i+'][stockMaintainer]" />';
html += '<input type="hidden" id="previousQuantity_'+i+'"/>';
html += '<input type="hidden" id="invoiceDetailId_'+i+'"/>';
html += '</td>';
html += '<td><input type="text" id="total_'+i+'" class="form-control totalLinePrice addNewRow" autocomplete="off" onkeypress="return IsNumeric(event);" ondrop="return false;" onpaste="return false;"></td>';
html += '<td><input type="checkbox" name="data[InvoiceDetail][0][staged]" id="staged_1'+i+'" class="form-control autocomplete_txt" autocomplete="off"></td>';
html += '<td><select value="" name="data[InvoiceDetail][0][location]" id="location_1'+i+'" class="form-control autocomplete_txt" autocomplete="off">';
html += '<option value="Used">Used</option>';
html += '<option value="RTS">RTS</option>';
html += '<option value="LAJ">LAJ</option>';
html += '</select></td>';
html += '</tr>';

if( typeof id !== "undefined"){
    $('#tr_'+id).after(html);
}else{
    $('table').append(html);
}
编辑:抱歉,添加了一个旧版本的代码,使用正确的TD元素进行了更新。选择框将出现在页面上,但如果您尝试选择值,则不会保存任何内容

编辑2:Guys/Gals,问题不在于html是否出现在我的身体中,而是通过附加功能出现,问题在于添加之后。添加文本后,将显示一个复选框和一个表单选择字段。如果在表单选择并保存表单中选择其他选项,则该选项不会保存。

尝试在html之前添加变量,在第一次html变量引用时调整+=至=

var i=0; var html=; html+=; html+=‘已使用’; html+='RTS'; html+='LAJ'; html+=;
document.body.innerHTML=html根据您提供的内容,我只能提出以下建议。你应该试一下

var html = "";
html += "<td><input type='checkbox' name='data[InvoiceDetail][0][staged]' id='staged_1'" + i + " class='form-control autocomplete_txt' autocomplete='off'></td>";
html += "<td><select value='' name='data[InvoiceDetail][0][location]' id='location_1'" + i + "'class='form-control autocomplete_txt' autocomplete='off'>";
html += "<option value='Used'>Used</option>";
html += "<option value='RTS'>RTS</option>";
html += "<option value='LAJ'>LAJ</option>";
html += "</select></td>";
$(html).appendTo(WhereYouwanttoappend);

希望它对您有用。

您的html可能没有初始化

变量html=


检查此运行代码:

从select元素中删除value属性。

您能再显示一点代码吗?请参见旁注:包装在表格单元格中,而选择框未包装。@Steven您可以提供您已经尝试过的jquery代码吗?您必须使用$html.appendTobody;之后lines@clement这是在代码中,所有内容都附加到fine,所有内容都显示为fine,staged td输入将在数据库中保存其字段,但select值不是saved@Steven如果在表单中选择其他选项并选择并保存表单,则不会保存该选项。可以指出在问题的js处发生的情况吗,创建stacksnippets,JSFIDLE来演示吗?如果我重复了其他答案,很抱歉。。。在postinghtml初始化之前,我并没有刷新,行被正确地添加到正文中,值只是并没有被保存到数据库中,用于添加与位置相对应的行。我尝试了,它破坏了我现有的代码。发票详细位置工作之前的所有代码片段perfect@Steven不确定要求是什么?问题不在于添加的数据,而在于此脚本添加的数据不允许更改选择值,要保存在数据库中,您可能需要检查将此“html”xml传递到数据库的代码,即您编写的连接字符串或查询或url