私はチェックボックスの束を持っています。私はそれらから値を取得し、それをスパンと隠れた入力に渡したいと思います。 1つのチェックボックスをクリックすると正常に動作します。しかし、複数のチェックボックスをクリックすると、最後の値だけが渡されます。どうしましたか?それで私を助けてください。そして他の質問。複数の値を格納するためにinputまたはtextareaを使用するのは適切ですか?jQueryがマップ関数から入力とスパンにデータを渡す
function t() {
$('input[type="checkbox"]:checked').map(function(){
var dataAttr = $(this).attr('name');
var dataAttrVal = $(this).val();
$('input[name="' + dataAttr + '-value"]').val(dataAttrVal);
$('#summary_' + dataAttr).html(dataAttrVal);
console.log(dataAttr);
console.log(dataAttrVal);
}).get().join();
};
$('input[type="checkbox"]').on('click', function(){
t();
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="checkbox" name="sause" id="sause-garlic" value="Sos czosnkowy" class="sause">
<label for="sause-garlic">garlic</label>
<input type="checkbox" name="sause" id="sause-tabasco" value="Sos tabasco" class="sause">
<label for="sause-tabasco">tabasco</label>
<br>
<input type="checkbox" name="vegies" id="vegies-tomato" value="Tomato" class="vegies">
<label for="vegies-tomato">tomato</label>
<input type="checkbox" name="vegies" id="vegies-tomato" value="potato" class="vegies">
<label for="vegies-tomato">potato</label>
<input type="text" name="sause-value">
<input type="text" name="vegies-value">
<span id="summary_sause" class="summary"></span>
<span id="summary_vegies" class="summary"></span>
私はチェックボックス付きのフォームを持っています。私は自分のフォームに隠れた入力に値を渡し、次にフォームを渡したいと思います。私のコードではどのような問題がありましたか? – MMPL1
私があなたに与えたオプションの1つを選択し、コードを更新して実行して、それがうまく動作するかどうかを確認します。あなたが違った振る舞いをしたいことを見つけたら、それが問題です。それらを修正しようとするといくつかの困難に直面した場合は、それらを新しい質問に投稿し、私たちはあなたを助けます。 –
私は参照してください。しかし、あなたのコードは完璧に動作します!おそらく、修正するべきことが1つあります。データをテクサリアに渡すこともありますが、私はそれを自分で修正できると思います。ありがとうございます – MMPL1