9

次のスクリプトでは、新しい行フォーム tfoot を複製し、それをテーブル tbody に追加します。

<script>
$('#checklist-builder .add-row').click(function(){
    var new_row = $('#checklist-builder>tfoot>tr').clone();
    $('#checklist-builder>tbody').append(new_row);
});
</script>

クローンされた行は次のとおりです。

<tr>
  <td>${j}</td>
  <td>
    <input size="2" type="hidden" value="" name="WhoChecklistField[1][${j}][id]" id="WhoChecklistField_1_${j}_id">      <input size="2" maxlength="2" type="text" value="" name="WhoChecklistField[1][${j}][weight]" id="WhoChecklistField_1_${j}_weight">    </td>
  <td>
    <input type="text" value="" name="WhoChecklistField[1][${j}][name]" id="WhoChecklistField_1_${j}_name">    </td>
  <td>
    <select size="1" name="WhoChecklistField[1][${j}][type]" id="WhoChecklistField_1_${j}_type">
      <option value="text">Text field</option>
      <option value="select">Select field</option>
      <option value="radio">Radio field</option>
      <option value="checkbox">Checkbox field</option>
    </select>
  </td>
</tr>

で置き換えたいのですが、jqueryのクローン文字列で置き換えるに${j}table size + 1どうすればよいですか?${j}

4

3 に答える 3

18
new_row.html(function(i, oldHTML) {
    return oldHTML.replace(/\${j}/g, 'table_size');
});

デモ

于 2012-07-01T06:24:54.573 に答える
1

あなたがする前にappend

new_row.html(function(i, oldHtml){ return oldHtml.replace(/${j}/g, tSize) });
于 2012-07-01T06:22:53.653 に答える