JavaScript不响应复选框

JavaScript不响应复选框,javascript,jquery,html,checkbox,Javascript,Jquery,Html,Checkbox,我有一个带有复选框的页面,这些复选框具有字符串值(a、B、C)。我正在尝试创建一个应用程序,它根据所选复选框的值在屏幕上构建一个字符串,以“+”分隔,例如“a+B+C”或“a+B”等 但是,选中复选框时,我的div不显示 我做错了什么 var arr=$(“.offers:checked”).map(函数(){ 返回$(this.val(); }).get(); $('#displayConcatenatedString').html(arr.join(+'); 1. 2. 3. A. B

我有一个带有复选框的页面,这些复选框具有字符串值(a、B、C)。我正在尝试创建一个应用程序,它根据所选复选框的值在屏幕上构建一个字符串,以“+”分隔,例如“a+B+C”或“a+B”等

但是,选中复选框时,我的div不显示

我做错了什么


var arr=$(“.offers:checked”).map(函数(){
返回$(this.val();
}).get();
$('#displayConcatenatedString').html(arr.join(+');
1.
2.
3.
A.
B
C

当状态更改时,您需要运行代码。本质上,当页面加载时,代码只运行一次,但是只要其中一个复选框的状态发生变化,就需要构建字符串

每次单击其中一个复选框时,下面的代码将运行问题中包含的代码(您也可以使用
change
事件)

另外,您的脚本
my_jq.js
包含在页面的标题中,这意味着它将在呈现任何HTML之前运行。这意味着上面建议的点击处理程序永远不会启动。有几种方法可以解决这个问题。一种是将脚本移动到页面底部

<body>
    ...stuff...
    <script src="my_jq.js" type="text/javascript"></script>  
</body>

另一个选项是附加到文档的处理程序,但这应该足以让您继续操作。

当状态更改时,您需要运行代码。本质上,当页面加载时,代码只运行一次,但是只要其中一个复选框的状态发生变化,就需要构建字符串

每次单击其中一个复选框时,下面的代码将运行问题中包含的代码(您也可以使用
change
事件)

另外,您的脚本
my_jq.js
包含在页面的标题中,这意味着它将在呈现任何HTML之前运行。这意味着上面建议的点击处理程序永远不会启动。有几种方法可以解决这个问题。一种是将脚本移动到页面底部

<body>
    ...stuff...
    <script src="my_jq.js" type="text/javascript"></script>  
</body>

另一个选项是附加到文档的处理程序,但这应该足以让您继续。

您会遇到什么错误?当选中复选框时,代码不会神奇地运行。它在被调用时运行。如果您需要在其状态更改时运行它,则需要将其绑定为事件侦听器handler@j08691我没有任何错误,选中复选框时,字符串不会显示在浏览器中。您没有更改或单击绑定到复选框的事件。您得到了哪些错误?当选中复选框时,代码不会神奇地运行。它在被调用时运行。如果您需要在其状态更改时运行它,则需要将其绑定为事件侦听器handler@j08691我没有收到任何错误,当选中复选框时,字符串没有显示在浏览器中。您没有更改或单击绑定到复选框的事件,我也让它在JSFIDLE中工作,但是它在桌面上运行时不起作用,这就是它的使用方式。我将js更改为您的代码,它在桌面上不起作用desktop@FeyziBagirov检查更新的答案。基本上,你的代码是在页面上出现复选框之前运行的。是的,我也在JSFIDLE中使用它,但在桌面上运行时它不工作,这就是它的使用方式。我将js更改为你的代码,它在桌面上不工作desktop@FeyziBagirov检查更新的答案。基本上,您的代码是在页面上的复选框出现之前运行的。
$(function(){
  $(".offers").on("click", function(){
    var arr = $(".offers:checked").map(function(){
    return $(this).val();
      }).get();
    $('#displayConcatenatedString').html(arr.join('+'));  
  })
})