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不是id,而是name输入的 。因此,您需要使用属性选择器而不是 id 选择器。

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

我还注意到您已经使用此选择器循环遍历元素,因此您可以简单地使用$(this).val('')

另外,var productId = $(this).find(".f_prod_id").text();这很奇怪,因为this在提供的函数each中将是一个input元素,而输入元素不能包含子元素。

于 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 回答