-2

我无法将下拉列表获得的值显示出来。我昨天刚开始学习 JS……干杯![eta] 问题是我的代码有什么问题,因为它没有按我想要的那样工作。

<!doctype html>
<html><body>
<script src="jquery.js">

$(function checkDropdown() {
var selects= $("#id1 option:selected").val();
document.getElementById("filler").innerHTML= selects;
});
</script>

<form name="f1">
<select id="id1">
<OPTION Value="none">None</OPTION>
<OPTION Value="one">One</OPTION>
<OPTION Value="two">Two</OPTION>
</select></form>
<p id="filler">Replace this text</p>
</br></br>
<button onClick="checkDropdown()">  CLICK ME  </button>
</form>
</body></html>

我最终想用实际数字替换选项值并将它们相乘。

4

4 回答 4

0

由于函数的声明方式,您的代码还有其他问题。查看此答案以获取有关如何在 jquery 中定义函数的更多信息。 这就是你在 jQuery 中定义函数的方式吗?

只需一点点重新安排,它就可以在我身上发挥作用。

checkDropdown = function() {
  var selects= $("#id1 option:selected").val();
  document.getElementById("filler").innerHTML= selects;
};​

在这里查看:http: //jsfiddle.net/kjmuE/

于 2013-01-03T19:54:04.897 回答
0

你的代码全错了。

尝试这个:

<!doctype html>
<html><body>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">    
function checkDropdown() {
  var selects= $("#id1").val();
  $("#filler").text(selects);
}
</script>

<form name="f1">
<select id="id1">
<OPTION Value="none">None</OPTION>
<OPTION Value="one">One</OPTION>
<OPTION Value="two">Two</OPTION>
</select></form>
<p id="filler">Replace this text</p>
</br></br>
<button onClick="checkDropdown()">  CLICK ME  </button>
</form>
</body></html>
  1. 您应该创建两个脚本标签。1 在其中加载 jquery,2 在其中定义自己的代码。
  2. 您不需要使用 :selected 选择器,因为下拉值始终等于所选选项的值。
  3. 不要将 document.getElementById() 与 jQuery 混合使用。坚持一种方法要好得多。
于 2013-01-03T19:48:39.727 回答
0

当您将一个函数传递给 时$,它将在 DOM 准备就绪时执行。但这不是你想要的。您希望在单击按钮时调用该函数,因此不要将其传递给$

<script>
    function checkDropdown() {
        // Simplified version of your code
        var selects = $('#id1').val();
        $('#filler').text(selects);
    }
</script>

您可以通过使用 jQuery 而不是内联事件处理程序绑定事件处理程序来进一步改进您的代码。

阅读有关$别名jQuery的更多信息。我还建议阅读jQuery 教程,它解释了开始使用事件处理程序(以及一般的 jQuery)所需了解的所有内容。

最后,如果您想了解事件的真正运作方式,请阅读quirksmode.org 上的文章


首先没有注意到这一点:您必须在它自己的脚本标签中加载 jQuery。

<script src="jquery.js"></script>

再一次,阅读教程,这些东西都在那里。

于 2013-01-03T19:48:41.337 回答
0

不确定你的 jQuery。尝试这个:

var selects= $("#id1").val();
于 2013-01-03T19:47:56.740 回答