0

今回は、スクリプトを完成させるために助けが必要です。HTML ページにこの表があります。

<div class="Productos">
    <table id="products" width="100%" cellspacing="0" cellpadding="0" border="0">
        <thead>
            <tr>
                <th class="left">Prod</th>
                <th>
                    <center>Desc</center>
                </th>
                <th>qty</th>
                <th>Price</th>
            </tr>
        </thead>
        <tbody>
            <tr>
                <td><a href="javascript:popUp2('some_link_here','700','400');"><input type="text" name="f_prod_id" size="10" value="5060102" readonly></td>
                <td class="left">desc1</a></td>
                <td>
                    <input type="number" name="f_qty" min="1" max="9999" step="1">
                </td>
                <td>35.17</td>
            </tr>
            <tr>
                <td><a href="javascript:popUp2('some_link_here','700','400');"><input type="text" name="f_prod_id" size="10" value="5060101" readonly></td>
                <td class="left">desc2</a></td>
                <td>
                    <input type="number" name="f_qty" min="1" max="9999" step="1">
                </td>
                <td>18.48</td>
            </tr>
        </tbody>
    </table>
</div>

私がする必要があるのは、アイテムの値をきれいにすることf_qtyです。私はそれを成し遂げるために次の構文を使用しています:

$('#f_qty').val('');

しかし、うまくいきません。私の HTML 画面には、古い値がまだ残っています。助言がありますか?

ここに私のJavaScriptがあります:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
<title>Totalizar</title>
<script type="text/javascript">
$(function () {
    $("#Calculate").click(
    // move value
    function () {
        $("input[name=f_qty]").each(function () {
            var valueInCurrentTextBox = $(this).val();
            var productId = $(this).find(".f_prod_id").text();

            if (valueInCurrentTextBox != '') {
                $("#P23_qty").val(valueInCurrentTextBox);
                alert('codid : ' + (productId));
                $('#f_qty').val('');
            }
        });
    });
});
</script>
</head>
<body>
<div id="totals"></div>
<p style="clear: both;">
<button type="button" style="font-weight: bold; width: auto;" id="Calculate">Agregar Productos</button></p>
</body>
</html>
4

2 に答える 2

3

f_qtyではなくidname入力の です。したがって、id セレクターではなく属性セレクターを使用する必要があります。

$('[name="f_qty"]').val('');

また、このセレクターを使用して既に要素をループしていることにも気付きました。$(this).val('')

さらに、提供される関数では要素になり、入力要素に子要素を含めることができないvar productId = $(this).find(".f_prod_id").text();ため、非常に奇妙です。thiseachinput

于 2013-08-17T05:36:39.930 に答える
0

名前を使用して選択するには、

$('[name="f_qty"]').val('');

また

$('input[name="f_qty"]').val('');

#は ID セレクターです。つまり、ID が f_qty だった場合は、 を使用する必要があります$('#f_qty')

于 2013-08-17T05:37:11.757 に答える