私はドロップダウン選択に基づいていくつかの読み取り専用テキスト入力の値を操作しようとしているWebフォームを持っています。親のインデックスが別の変数と一致する入力として変数を設定します。
HTML(省略)は、基本的に次のようになります。
ページで<fieldset class="container">
<fieldset class="foo-points-fs">
<div>
<selector id="foo-bar1-points">
<option>1</option>
<option>2</option>
</selector>
</div>
<div>
<selector id="foo-bar2-points">
<option>1</option>
<option>2</option>
</selector>
</div>
</fieldset>
<fieldset class="foo-weight-fs">
<div>
<input readonly="readonly" value="1" id="foo-bar1-weight"/>
</div>
<div>
<input readonly="readonly" value="2" id="foo-bar2-weight"/>
</div>
</fieldset>
<fieldset class="foo-score-fs">
<div>
<input readonly="readonly" value="0" id="foo-bar1-score"/>
</div>
<div>
<input readonly="readonly" value="0" id="foo-bar2-score"/>
</div>
</fieldset>
</fieldset>
、これらは基本的に、ユーザーが体重の列とから選択しますドロップダウンの列を持っているし、次のスコアテーブルの行のように見えますそれ。したがって、selector
,input
、およびinput
の各セットは1つの行です。
.score
フィールドセット内の入力の値を、同じ行のセレクタとウェイト入力の値に応じて変更したいとします。つまり、親divのインデックスが対応するセレクタ親divのインデックス
jQueryで、「親divのインデックスが別のセレクタ/入力の親divのインデックスと等しい入力」を設定する方法がわかりました。
jQuery('fieldset.container select[id$="-points"]').change(function() {
var sel = jQuery(this),
fs = sel.parents('fieldset[id$="-points-fs"]'),
dropPar = sel.parent('div'),
dropNdx = dropPar.index(),
weightInput = fs.find('input[id$="-weight]'),
scoreInput = fs.find('input[id$="-score"]'),
weight = weightInput.parent('div').index(dropNdx), // problem is here, I assume
score = scoreInput.parent('div').index(dropNdx); // problem is here, I assume
score.val(weight.val() * sel.val());
});
ヘルプをしてください:ここでは
は、私がこれまで持っている何ですか?
ねえ、あなたがフィドルを作成することができますか? - http://jsfiddle.net –
ペン[ここをクリック](http://codepen.io/cjl750/pen/kXqyER)、マークアップはそこでは省略されていません。 – cjl750