2017-11-16 28 views
1

私はDatatablesとおそらくキャッシュされた変数に問題があります。 妥当性をチェックするには、提出時に#peso_totale_componentiを検索する必要があります。データ型とフッターから入力フィールドの値を取得する

例の正しい値は入力値のように15.4です。

私は、この入力をチェックするアラートを挿入したが、私は(最初の行の値である。)6.6を得る

var peso_totale_componenti = $("#peso_totale_componenti").val(); 
    alert(peso_totale_componenti); 

私は理由を知りません。しかし、タブパネルを変更したり、ウィンドウのサイズを変更して送信をクリックしたりすると、今回はアラートの値が正しく表示されます(15.4)

データテーブルのキャッシュ値に問題があるようですか?

UPDATE:IDは一意です。私は、DataTableのにdrawcallbackとの合計を取得する:

drawCallback: function() { 
     var api = this.api(); 
     var index = 3; //colonna pesi 
     $(api.column(index).footer()).html("<input type='hidden' id='peso_totale_componenti' value='" + api.column(index).data().sum() + "'>" + api.column(index).data().sum()); //peso totale 
    }, 

UPDATE 2:/すべての挿入後

table.rows().invalidate('dom').draw(false); 

を行の削除:使用して解きます。

enter image description here

答えて

0

あなたが二回同じID値を使用していたためです。 IDは1つの要素に一意である必要があります。

クラスを使用して、同じスタイル/ jsを適用する必要がある複数の要素をターゲットにし、特定の要素をターゲットにするためにIDを使用します。

+0

で同じIDを持つことができます。 1回だけ表示されます。 –

+0

最初の行の要素のIDは6.6ですか? – ProEvilz

+0

IDがありません。私はapi.sum()を使用してすべてのdrawcallbackに合計を取得します。私は投稿を更新しました –

0

次のセレクタを使用してセレクタの特異性番号を増やすことができます。

var peso_totale_componenti = $("table tfoot tr th input#peso_totale_componenti").val(); 
alert(peso_totale_componenti); 

他の要素はありません、私は二度それを使用していないDOM

+0

動作しません。私はIDがユニークであると確信しています –

+0

クラスを入力に追加し、上記のように指定したセレクタで使用できますか? "table tfoot tr th input.newClass" –

関連する問題