0

我有几个表格一个接一个的克隆取决于用户输入。在每种形式中,我都有添加一行输入的按钮:

<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;
}
4

1 回答 1

2

你不能像以前一样做吗?

$('#input_param').append(maincontent).trigger("create");

此外,由于您有 athead并且tbody直接针对正确的元素(头或 tbody)更安全。

$('#input_param > tbody').append(...);
于 2013-09-12T23:29:09.703 回答