0

データを入力するためのテーブルを含む Web ページがあります。行の追加/削除は機能しますが、追加された行は最初の行のデータをコピーします。私は使用しています:

jquery
bootstrap  
globalize    
jquery.dataTables
query.table.addrow

数値にアクセスできません。したい:

  1. 入力の数値にデフォルト値の 0 を指定します。
  2. 値を取得し、それらを使用してページ内の他の値を計算します。

html:

          <form class="form-horizontal">
            <table id="tabc" border="1"  cellpadding="0" cellspacing="0" class="table table-condensed datatable" style="width:auto;margin:30px">
              <thead>
                <tr>
                  <th title="Masa en gramos" >Masa(g)</th>
                  <th>Analito</th>
                  <th title="Concentración del standard">Std</th> 
                  <th>Volumen</th>
                  <th></th>
                </tr>
              </thead>
              <tbody>
                <tr>
                  <td><input type="number" class="input-mini" name="ryacur" id="ryacur1" ></td>
                  <td><input type="text" data-provide="typeahead" data-source='["Ag","Al","As","Au","Ba","Be","Bi","Br","Cr","Pb","Pd"]' autocomplete="off" class="input-mini" name="anacur" id="anacur1" ></td>
                  <td><input type="number" class="input-mini" name="stdcur" id="stdcur1" ></td>
                  <td></td>
                  <td><input type="button" class="AddNew" value="Agrega"></td>
                </tr>
              </tbody>
            </table>
             <div class="span2 offset3"><input type="submit" name="enviar" value="Enviar" style="color:darkblue"></div>
          </form>

js:

$('#tabc').dataTable({
    "oLanguage": {
        "sUrl": "/arch/es_CL.js"
    },
        "bPaginate": false,
        "bLengthChange": false,
        "bFilter": false,
        "bSort": false,
        "bInfo": false,
        "bAutoWidth": true
});


$('.AddNew').click(function () {
    var row = $('#tabc tbody tr:last-child'),
        newRow = row.clone(),
        oTable = $('#tabc').dataTable();
    newRow.find("input", newRow).each(function () {
        this.val = '';
        var num = +(this.id.match(/\d+$/) || [0])[0] + 1
        this.id = this.id.replace(/\d+$/, "") + num;
        console.log(this.val); // <<<<<<<<<<< Doesn't work
        $('input[type="button"]', newRow).removeClass('AddNew').addClass('RemoveRow').val('Borra');
    });
    newRow.insertAfter(row);
});

$('table').on('click', '.RemoveRow', function () {
    $(this).closest('tr').remove();
});

私は何が欠けていますか?

4

1 に答える 1

0

これconsole.log(this.val);をに変更

console.log(this.value);またはconsole.log($(this).val());

于 2013-05-20T20:50:22.110 に答える