如何使用jquery清理输入字段值?

时间:2013-08-17 05:33:48

标签: jquery

这次我需要帮助来完成我的脚本, 我在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>

2 个答案:

答案 0 :(得分:3)

f_qty不是id,而是输入的name。因此,您需要使用属性选择器而不是id选择器。

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

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

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

答案 1 :(得分:0)

使用姓名选择

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

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

#是一个ID选择器,我的意思是如果你的id是f_qty,你应该使用$('#f_qty')