0

私は常に a を使用しtempClassて、何かを繰り返し処理し、最初の子テキスト入力を選択してきました。私は今これに奇妙な問題を抱えています。私はこれを行うための適切な方法を見つけることに成功しませんでした。

コードスニペット

$( ".inputQuantityUpdate" ).each(function( index ) {
    $(this).addClass("tempPtr");
    completed   = $(".tempPtr :input[type='text']:first").val();
    nc          = $(".tempPtr :input[type='text']:first").next().val();
    if(nc == "NC")nc = 0;
    $(this).removeClass("tempPtr");
    $(this).parent().remove();
});

私の問題は nc であり、完了は最初の反復では正しいですが、その後では正しくありません。何らかの理由でこれが機能していません。これに取り組む最善の方法は何ですか?

更新:マークされたソリューションは機能しました。機能していないため、取得している他のフィールドを投稿する必要がありました。この一連のルーチンは、要素「inputQuantityUpdate」が反復内に 1 つしかない場合に機能します。複数あると爆発する。これは、ある種のメモリの問題/構文の誤用であると感じています。次のような要素にデータが格納されている場合、これを行う最善の方法は何ですか?

function updatesConfirmed(){
        $("#confirmInputValues").remove();
        $( ".inputQuantityUpdate" ).each(function( index ) {
            job         = $(this).data("job");
            suf         = $(this).data("suff");
            op          = $(this).data("op");
            completed   = $(":input[type='text']:first", this).val();
            nc          = $(":input[type='text']:first", this).next().val();
            if(nc == "NC")nc = 0;
            $(this).parent().remove();
        });
    }
4

2 に答える 2

0

現在の要素から最初のテキスト入力を取得したい場合、セレクターは次のように変わります。

completed   = $(":input[type='text']:first", this).val();
nc          = $(":input[type='text']:first", this).next().val();
于 2013-11-08T20:56:20.547 に答える