0

我想创建我的第一个 javascript 程序。有 2 个复选框,当我选中第一个复选框时,我希望也选中第二个复选框。有人可以告诉我为什么这不起作用吗?

.filters#filters
  = render "sharedStuff/search"
    .check_box{:style => "border-bottom: 5px silver dotted;"}
      %div{:style => "float:right;"}

  %div
    = check_box_tag "Black",false, false
    Black
  %div
    = check_box_tag "Red", false, false
    Red

  :javascript
    jQuery(function($) {
      $('#Black').change(Black);
    }); 
    function Black(){
      if($('Black').checked){
        $('Red').checked = true
        }};

我实际上是从这段代码正在运行的项目中复制粘贴的。我错过了什么吗?我需要在其他地方更改其他内容吗?或者这是一个容易的复制粘贴。该代码段在一个更大的项目中。也许我错过了一些标签等?

4

1 回答 1

1

你的 Haml, js 看起来不错,除了这块:

function Black(){
  if($('Black').checked){
  $('Red').checked = true
}};

在这里,您需要一个 CSS 选择器。正如这里所写,您正在寻找,

<Black />

<Red />

你想要的是<input id='Black' />

所以指定id的

function Black(){
  if($('input#Black').is(':checked'))
    $('input#Red').prop('checked', 'checked');
  else
    $('input#Red').prop('checked', '');
}};
于 2013-08-26T01:29:32.200 回答