チェックボックスの各ループで入力値を取得しようとしていますが、これを機能させる方法を理解できません。値は最初のチェックボックス値として出力され続けます。
$('.custemb, input[name=cb], input[class=multadd]').live("click", function() {
$('input[class=multadd]:checked').each(function(index) {
val = index + 2;
valu = $('input[class=multadd]:checked').val();
multiz = multiz + '&aid' + val + '=' + valu;
});
});
問題は、変数valu
の出力が各ループ全体の最初のチェックボックスであり、ループの現在のチェックボックスではないことです。現在の値が必要です。
何か案は?
this
を使用して、ループ内の現在の要素にアクセスできます。
valu = $(this).val();
現在の要素は、コールバック関数へのパラメーターとしても送信されるため、取得できます。
.each(function(index, elem) {
次に、パラメーターを使用します。
valu = $(elem).val();
$('.custemb, input[name=cb], input[class=multadd]').live("click", function() {
$('input[class=multadd]:checked').each(function(index) {
var $this = $(this);
val = index + 2;
valu = $this.val();
multiz = multiz + '&aid' + val + '=' + valu;
});
});
this
を使用して、クリックされたコントロールを見つけます
$('input[class=multadd]:checked').each(function(index) {
val = index + 2;
valu = $(this).val();
multiz = multiz + '&aid' + val + '=' + valu;
});
var texts= $(".class_name").map(function() {
return $(this).val();
}).get();