0

以前のすべての助けのおかげで、私はここまで来ることができました.テーブルに行を追加し、オプションを選択してテキスト入力を表示することができます. これがフィドルのリンクです。以前は複数選択を使用していましたが、複数選択が「出力タイプ」の表示に問題を引き起こしたため、単一選択に変更しました(より良い方法を提案できるかもしれません;))

現在、変数に格納されている値が新しい入力値に置き換えられないという別の問題に直面しています。したがって、「出力番号」列には、最初に入力された番号のみが表示されます。もう1つの奇妙なことは、「ゾーン入力」からの入力のみを取得/更新できることです。これは、html divの最初に配置されるためです。他の人をトップに変更しようとしましたが、同じことが起こりました。

var textInput = "";
$('.TextInput').empty();
textInput = $('.TextInput').val();

試し.empty()ましたが、ご覧のとおりうまくいきません。各 div には異なる ID があります。しかし、以前にテストしたのと同じようにIDを使用する場合var textInput = $('#outputTextInput').val();、他の人にも同じようにするにはどうすればよいですか? または||好き var textInput = $('#outputTextInput').val() || $('#zoneTextInput').val();ですか?

また、テキスト入力ではなくチェックボックスを使用しているため、「アーム」用に別の関数を作成する必要がありますか?

更新:これは機能していますが、私のプログラムでは機能していません:(( http://jsfiddle.net/yvonnezoe/MKfLU/1/

更新:これで問題が見つかりました!ここで私の問題を参照してください: jQuery vs jQuery Mobile - スクリプト シーケンスは重要ですか?

4

2 に答える 2

1

コード内の次の行を置き換えてみてください。

$('.TextInput').empty();
textInput =  $('.TextInput').val();

これとともに:

$('.TextInput').not($(this).prev('.TextInput')).val('');
textInput =  $(this).prev('.TextInput').val();

そしてさらに試みる...

マークアップは次のとおりです。

<input type="text" class="TextInput" id="zoneTextInput" value="">
<input type="submit" class="add" value="Add" />

add今、クラスで追加ボタンをクリックすると$(this)、現在のスコープ内の要素を表し、クラスで$(this).prev('.TextInput')その前の要素を表しTextInputます(ここでは、入力テキストボックス)。したがって、$(this).prev('.TextInput').val()クリックした追加ボタンで現在のテキストボックスの値が表示されます。一方、$('.TextInput').val()どの追加ボタンがクリックされても、最初の要素の値が得られます。

詳細: prev()およびnot()

于 2013-04-23T06:08:30.157 に答える
0

textInput=$(this).prev().val(); クリックイベントでは、これはボタンを指しており、 prev は dom 内の前の要素 (この場合は入力要素) を選択し、次に .val() がその値を選択するためです。まだ機能していないのはどの部分ですか?

于 2013-04-23T08:17:54.237 に答える