jQuery未定义的值click事件

时间:2018-03-09 22:37:02

标签: javascript jquery

我有一些带有自定义ID的表单。 所有这些都有一些隐藏的字段和一个数字和提交字段。我想通过此函数获取变量中的数字字段值

$(".formclass").click(function () {
    console.log(this.id);
    var id = this.id;
    var value = $(id).find("input[type='number']").val();
    console.log(value);
});

控制台中的返回输出是

  

形式-103

     

未定义

尝试使用.children().attr('value'),但都没有效果。

这是一个例子:

<form id="form-<?=$id_val?>" class="formclass"
enctype="multipart/form-data"
method="POST"
action="/etlap/">
    <input type="hidden" name="add-to-cart"
    value="<?php echo htmlspecialchars($pid); ?>"/>
    <input type="number" id="quantity"
    name="quantity" min="1"
    required="required"
    pattern="[0-9]*"
    max=<?= $floor_available_stock ?>
    inputmode="numeric"
    value="1"/>
    <input type="hidden" name="variation_id"
    value="<?php echo htmlspecialchars($getvar1); ?>"/>
    <input type="submit" value="Add to cart"/>
</form>

2 个答案:

答案 0 :(得分:0)

没试过,但可能你应该在第4行使用css选择器。尝试使用选择器,如: var value = $("#"+id).find("input[type='number']").val();

答案 1 :(得分:-1)

如果要在单击的元素中找到数字,可以直接执行

$("input[type='number']", this).val();

使用此版本的选择器时,第二个元素将是用于搜索子项的父项。普通选择器实际上是$(selector, document)

的包装器

参考。 http://api.jquery.com/jQuery/#jQuery1