我有几种形式一个接一个克隆取决于用户输入。在每种形式我都有按钮添加一行输入:
<h4>3.3.5 Input Parameters</h4>
<table id="input_param" data-role="table" class="ui-responsive table-stroke">
<thead>
<tr>
<th data-priority="1">Parameter</th>
<th data-priority="2">Data Type</th>
<th data-priority="3">Required</th>
<th data-priority="4">Brief description</th>
<th data-priority="5">Location in Request</th>
</tr>
</thead>
<tbody></tbody>
</table>
<input type="button" id="add_input_param" value="+ Add Input Parameter" data-inline="true" /><br />
所以如果它是第一个表单(静态表单),那么这个代码将起作用:
$("#add_input_param").click(function() {
var maincontent = loadParam('IP', '01', ipCount);
ipCount++;
$('#input_param').append(maincontent).trigger("create");
});
因为我理解的第一个之后我必须使用.on()
$("#input_form").on("click", "#add_input_param", function() {
var maincontent = loadParam('IP', '01', ipCount);
ipCount++;
//$('this').append(maincontent).trigger("create");
});
评论区域是我无法运作的部分。我想将maincontent附加到#input_param(它是一个表),但是因为它是动态生成的,我如何修改那行代码以便它可以使用呢?
maincontent将是这样的:
function loadParam(IO, form_number, counter) {
var id = IO + form_number + '-' + counter;
var maincontent = '<tr>';
maincontent += '<th><input type="text" name="param' + id + '" id="param' + id + '" value="" /></th>';
maincontent += '<td><input type="text" name="data_type' + id + '" id="data_type' + id + '" /></td>';
maincontent += '<td>';
maincontent += '<select id="required" name="req' + id + '" id="req' + id + '"class="form-alpha">';
maincontent += '<option value="Mandatory" >Mandatory</option>';
maincontent += '<option value="Optional" >Optional</option>';
maincontent += '<option value="Conditional" >Conditional</option>';
maincontent += '</select>';
maincontent += '</td>';
maincontent += '<td><textarea name="des' + id + '" id="des' + id + '" ></textarea></td>';
maincontent += '<td>';
maincontent += '<select name="location' + id + '" id="location' + id + '" class="form-alpha">';
maincontent += '<option value="Header" >Header</option>';
maincontent += '<option value="Body" >Body</option>';
maincontent += '<option value="Query_param" >Query Parameter</option>';
maincontent += '<option value="Resource_uri" >Resource URI</option>';
maincontent += '</select>';
maincontent += '</td>';
maincontent += '</tr>';
return maincontent;
}
答案 0 :(得分:2)
难道你不能像以前那样做吗?
$('#input_param').append(maincontent).trigger("create");
此外,由于您拥有thead
和tbody
,因此直接定位正确的元素(thead或tbody)会更安全。
$('#input_param > tbody').append(...);