0

こんにちは、以前の投稿から修正されたこのフォームがあります。

<form id="eForm" action="">
    <table class="fMain" border="1" cellpadding="0" cellspacing="0">
        <tbody>        
            <tr class="ist">
                <td>In work</td>
                <td>09/25/2013</td>
                <td><input type="text" value="3500.00" name="salesS" class="totalS fo" readonly=""></td>                
                <td ><input type="text" value="23.00" name="cusS" class="cusS form-field-tiny readonly" readonly=""></td>
                <td>0.66%</td>                                         
            </tr>
            <tr class="ist">
                <td>In work</td>
                <td>09/25/2013</td>
                <td><input type="text" value="2445.00" name="salesS" class="totalS fo" readonly=""></td>                
                <td ><input type="text" value="444.00" name="cusS" class="cusS form-field-tiny readonly" readonly=""></td>
                <td>0.66%</td>                     
            </tr>                             
        </tbody>
    </table>
</form>

次のjQueryを使用してフォーマットを行っています。

$('.eForm tr.ist').each(function () {
    var num = $(this).find('#salesS').val();
    var cNum = $(this).find('#cusS').val();
    alert(num);
    alert(cNum);
    document.getElementById('salesS').value = pC(num);
    document.getElementById('cusS').value = pC(cNum);
});

すべての値が正常に処理されています。ただし、次の行を使用して値を更新すると、現在の行は更新されません。一番上の行を更新するだけです。

document.getElementById('salesS').value = pC(num);
document.getElementById('cusS').value = pC(cNum);

私はこれを試しました

$(this).find('#cusS').val()=pC(num);

うまくいきませんでした。現在の行の値を更新するように修正する方法を教えてください。ありがとう

4

1 に答える 1

0

あなたのjQueryは非常に間違っています。理由は次のとおりです。

$('.eForm tr.fMain').each(function () { // YOU GOT NO TR WITH THAT CLASS, It'S A TABLE

    var num = $(this).find('#salesS').val(); // YOU GOT NO ELEMENT WITH "salesS" ID
    var cNum = $(this).find('#cusS').val();// YOU GOT NO ELEMENT WITH "cusS" ID
    alert(num);
    alert(cNum);
    document.getElementById('salesS').value = pC(num); 
    document.getElementById('cusS').value = pC(cNum);
});

このコードも間違っています:

$(this).find('#cusS').val()=pC(num); 

有効であるとは、このようなものかもしれません (cus5 id の入力がある場合)

$(this).find('#cusS').val(pC(num));

今、あなたが望むかもしれないものは次のとおりです:

$('.eForm tr.ist').each(function () { 
    var inputSales = $(this).find('input[name=salesS]');
    var inputCus =  $(this).find('input[name=cusS]');
    inputSales.val(pC(inputSales.val());
    inputCus.val(pC(inputCus.val());
});
于 2013-10-11T07:54:02.700 に答える