在javascript函数中从下拉表单调用多个用户选择
我在自学如何编码。我不知道如何从一个HTML下拉表单中获取多个值,并通过javascript.formattributes直接将它们输入到一个预定义的函数中在javascript函数中从下拉表单调用多个用户选择,javascript,forms,function,Javascript,Forms,Function,我在自学如何编码。我不知道如何从一个HTML下拉表单中获取多个值,并通过javascript.formattributes直接将它们输入到一个预定义的函数中 <form action="mywebsite.html"> <p> Month </p> <select name="Bmonth"> <option value="1">January</option> <option value="2">
<form action="mywebsite.html">
<p> Month </p>
<select name="Bmonth">
<option value="1">January</option>
<option value="2">February</option>
<option value="3">March</option>
</select>
<p> Day </p>
<select name="Bdom">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
<p> Year </p>
<select name="Byear">
<option value="2015">2015</option>
<option value="2014">2015</option>
<option value="2013">1988</option>
</select></form>
<script>
function DOB(Bmonth, Bdom, Byear) {
var z=Byear-Bmonth*Bdom;
return window.alert("Your number is " +z);
}
DOB(Bmonth, Bdom, Byear);
</script>
我只想将用户提供的三个值输入函数DOBBmonth、Bdom、Byear;如果我像这样运行代码,它会说Bmonth未定义。首先将name=更改为id=以简化javascript选择。看起来是这样的:
<form action="mywebsite.html">
<p> Month </p>
<select id="Bmonth">
<option value="1">January</option>
<option value="2">February</option>
<option value="3">March</option>
</select>
<p> Day </p>
<select id="Bdom">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
<p> Year </p>
<select id="Byear">
<option value="2015">2015</option>
<option value="2014">2015</option>
<option value="2013">1988</option>
</select></form>
谢谢您还可以使用javascript框架或库来简化您的生活。例如,使用jQuery,您可以如下调整代码:
<form action="mywebsite.html">
<p> Month </p>
<select name="Bmonth">
<option value="1">January</option>
<option value="2">February</option>
<option value="3">March</option>
</select>
<p> Day </p>
<select name="Bdom">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
<p> Year </p>
<select name="Byear">
<option value="2015">2015</option>
<option value="2014">2015</option>
<option value="2013">1988</option>
</select></form>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script>
function DOB(Bmonth, Bdom, Byear) {
var z=Byear-Bmonth*Bdom;
return window.alert("Your number is " +z);
}
DOB(
$('[name="Bmonth"]').val(),
$('[name="Bdom"]').val(),
$('[name="Byear"]').val()
);
</script>
通过进一步的调整,添加一个按钮来触发DOB函数,并使用id代替name:你的JS函数在哪里?请包括这一点,我不明白这有什么关系。这个函数很长,但是运行起来很干净。我会放一个简化的版本在里面。非常感谢。这确实有效。您能为我指出正确的方向吗?这样我就可以更好地理解代码,以便能够正确地使用jquery?推荐参考资料?我会选择jQuery的官方网站。他们有一个学习中心和一个API文档:这是我在jQuery中使用最多的资源。我在示例中使用的是id选择器和属性相等选择器、val函数和click binder函数。很高兴我能帮上忙:另外,别忘了将你喜欢的答案标记为已接受,并对你喜欢的答案进行投票:
<form action="mywebsite.html">
<p> Month </p>
<select name="Bmonth">
<option value="1">January</option>
<option value="2">February</option>
<option value="3">March</option>
</select>
<p> Day </p>
<select name="Bdom">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
<p> Year </p>
<select name="Byear">
<option value="2015">2015</option>
<option value="2014">2015</option>
<option value="2013">1988</option>
</select></form>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script>
function DOB(Bmonth, Bdom, Byear) {
var z=Byear-Bmonth*Bdom;
return window.alert("Your number is " +z);
}
DOB(
$('[name="Bmonth"]').val(),
$('[name="Bdom"]').val(),
$('[name="Byear"]').val()
);
</script>