1

ここに、使用できるテストアプリケーションがあります。

アプリを使用するには、以下の手順に従ってください:アプリケーション

1.アプリケーションを開くと、「残りのマークの総数」が20であることがわかります。「質問の追加」ボタンをクリックすると、下に行が追加されます。

2.追加された行内に、テキスト入力が表示されます。テキスト入力に数字の10を入力し、クリックして離れます。「残りのマークの総数」が20から10に変更されたことがわかります。これは正しいです(20-10 = 10)

3.同じ行内に緑色のプラスボタンがあります。このボタンをクリックすると、モーダルウィンドウが表示され、内部に検索バーが表示されます。

4.検索バーに2+2と入力し、検索を入力します。[マークの数]列の下に番号5が表示されている行が表示されます。[追加]ボタンをクリックして、行を追加します。

5.これが問題の原因です。添付の​​行に、テキスト入力「5」と表示されていますが、先頭に戻ると、「残りのマークの総数:10」と表示されています。これは、20-5 = 15として15に変更されます。ただし、変更されません。

私の質問は、ユーザーが追加された行に番号を追加した後、合計マーク数を変更するにはどうすればよいですか?「OnChange」属性を使用しているためですか?

以下は、コード全体を表示するjsfiddleです:( Jsfiddleは実際の例ではなく、コード全体を表示できるようになっています):

http://jsfiddle.net/WZKrP/2/

4

2 に答える 2

1

モーダルウィンドウの[追加]ボタンで呼び出していますが、JavaScriptparent.addwindow(key_0,'5','1','A-D','Single','A');の関数には1つのパラメーターしかありません: ...5つのパラメーターを送信しています。addWindow()addwindow(textWeight)

関数は正しく呼び出されており、データに対して何もしていません。

これはあなたが関数に送っているものです

ここに画像の説明を入力してください

コメント後に編集

$(plusbutton_clicked).closest('tr').find('input.txtWeightRow').val(textWeight).‌​trigger('change');変更をトリガーするために使用

于 2012-10-11T16:09:01.473 に答える
0

$('#mainTxtWeight').val(textWeight);このコードが問題を引き起こしていると思います。

W3Cのドキュメントによると、入力コントロールのをプログラムで変更する場合valueは、変更イベントを手動で発生させる必要があります。

blurイベントを使用するか、手動でイベントを発生changeさせてみてください

詳細については、別のSO質問に対する私の回答を参照してください。

于 2012-10-11T16:57:59.047 に答える