18

チェックボックスの各ループで入力値を取得しようとしていますが、これを機能させる方法がわかりません。値は最初のチェックボックス値として出力され続けます。

$('.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各ループ全体の最初のチェックボックスであり、ループの現在のチェックボックスではないことです。現在の値が必要です。

何か案は?

4

4 に答える 4

51

thisループ内の現在の要素にアクセスするために使用できます。

valu = $(this).val();

現在の要素もパラメーターとしてコールバック関数に送信されるため、次のように取得できます。

.each(function(index, elem) {

次に、パラメータを使用します。

valu = $(elem).val();
于 2012-05-19T20:30:41.477 に答える
4
$('.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;
    });
});
于 2012-05-19T20:30:32.930 に答える
2

thisクリックされたコントロールを見つけるために使用します

$('input[class=multadd]:checked').each(function(index) {
        val = index + 2;
        valu = $(this).val();
        multiz = multiz + '&aid' + val + '=' + valu;
    });
于 2012-05-19T20:32:12.107 に答える
2
var texts= $(".class_name").map(function() {
    return $(this).val();         
}).get();
于 2015-09-17T08:23:11.643 に答える