我知道使用简单的解决方案可能是一个非常简单的问题,但是我对js和jquery还是陌生的。我在html中有一个div,并且是在js中创建的:
$("#Data").html(`
<div>
A: <input type="text" id="A1"/>
</div>
<div>
B <input type="text" id="B2"/>
</div>
<div>
C <input type="text" id="C"/>
</div>
<div>
<input type="button" id="button1" value="Submit" onclick="submit1()"/>
</div>
`);
还设置了A1和B2的值(取决于检查的无线电和选择的选项)。 当我尝试获取C的值(带有警报)时,它似乎未定义。为什么会这样?
var C=$("#C").val();
alert("A="+A+" B2="+B2+" C="+C);
A1和B2很好(是吗?)。
这是我完成的代码,其中包含所有下拉列表和收音机JSFiddle
答案 0 :(得分:0)
您的分配“ var C = $(“#C”)。val();“不在函数中,而是在脚本的根目录中。
它将在脚本加载后解释脚本时执行。目前(页面加载),C没有任何价值,因为您的输入仍不在DOM中。
您需要在每次提交时在方法“提交”中获取此值。
该赋值不是绑定,因此每次您想读取输入值时都需要更新C的值。
答案 1 :(得分:0)
您的问题是您试图在功能之外获取输入的值,但是这些部分在实例化而不是在单击按钮时运行。
因此,当您的页面加载时,值当然是不确定的,因为您获取的是空输入的值。您需要正确地将值拉入您的Submit函数。如果要使用全局变量,则需要这样声明它们,以便可以对其进行更新。