Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/404.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery将未定义或ON作为输入值返回_Javascript_Jquery_Html - Fatal编程技术网

Javascript jQuery将未定义或ON作为输入值返回

Javascript jQuery将未定义或ON作为输入值返回,javascript,jquery,html,Javascript,Jquery,Html,我无法使用jQuery获取输入值 最终编辑: 问题解决了。 天哪,我错过了 = 对于输入标记中的值属性 我为这个愚蠢的错误挣扎了很多。。笑表情符号 如果我使用 $("input[name=xxx]:checked").attr("value"); $("input[name=xxx]:checked").val(); 它返回未定义的 如果我使用 $("input[name=xxx]:checked").attr("value"); $("input[name=xxx]:checked").

我无法使用jQuery获取输入值

最终编辑: 问题解决了。 天哪,我错过了

=

对于输入标记中的值属性

我为这个愚蠢的错误挣扎了很多。。笑表情符号

如果我使用

$("input[name=xxx]:checked").attr("value");
$("input[name=xxx]:checked").val();
它返回未定义的

如果我使用

$("input[name=xxx]:checked").attr("value");
$("input[name=xxx]:checked").val();
它返回一个错误,而不是值

编辑: 使用js动态创建输入

<div id="ab">
<input type="checkbox" name="aaa" value="apple">apple
<input type="checkbox" name="aaa" value="banana">banana
<input type="checkbox" name="aaa" value="grapes">grapes
<input type="checkbox" name="aaa" value="pista">pista
<input type="checkbox" name="aaa" value="badam">badam
<input type="checkbox" name="aaa" value="fruit">fruit
</div>
<div id="abcd"></div>
在页面加载后用js创建的内容无法使用该选项

$("body").on("click", "#xxx", function(){});
这一条适用于页面加载后用js创建的内容

$("body").on("click", "#xxx", function(){});
类似地,也可能会有另一种方法来获取页面加载后用js创建的输入值。

使用 $input[name=xxx]:选中[0]。值


由于它可能返回输入数组,因此如果元素中未指定值,则必须从数组中选择第一个,因此复选框的默认值为开和关。如果复选框应该具有某些特定含义,则可以在“值”属性中指定该含义

例如,假设我们希望用户在超过18岁时选中该框。我们可以这样做:

$(document).on('click', '.your_class_name', function() {
    console.log($(this).is(':checked'));
    // Do something with selected element
});
然后,当您查询它的值$checkbox.attrvalue时,您将得到超过18

如果不希望以这种方式指定值,并且正在为复选框旁边的文本使用标签,则可以执行以下操作:

HTML:

这将为您提供标签文本,超过18

使现代化 对于OPs更新的情况,您可能可以使用类似$staticProcedens.oneventName、dynamicChild、function{};通过jQuery

例如:

首先,在动态创建复选框时为class属性指定一个类名,例如class=your_class_name

然后,做一些类似的事情:

$(document).on('click', '.your_class_name', function() {
    console.log($(this).is(':checked'));
    // Do something with selected element
});
请参阅,特别是有关直接和委托事件处理程序的部分


希望这有帮助。

您还没有设置输入的值属性。没有具有名称值的属性,因此第一个属性给出了未定义的可检查输入的默认值为ON?OFF,因此第二个属性给出了ON。ON不是错误,如果选中,复选框始终打开,如果未选中,复选框始终关闭。如果要返回真值或假值,以确定是否选中,则始终可以使用$输入[姓名=xxx]“.is”:已选中。显然,您需要附加一个事件侦听器,以侦听在您选中或取消选中复选框时触发的更改事件,或与您正在创建的表单关联的任何按钮的单击事件。@sandeep现在您已经编辑了它,这是一个完全不同的问题……无论如何,AndroidNoobie的答案是covers itjQuery的.val只是提供了一种jQuery方法,可以在jQuery对象上执行相同的操作,而不是像这样选择DOM元素。不需要这样做,它在功能上等同于OP已经编写的内容。@sandeep更新了我的答案,希望能提供一些帮助。