【问题标题】:Simple JavaScript on Ruby on RailsRuby on Rails 上的简单 JavaScript
【发布时间】:2013-08-26 01:17:00
【问题描述】:

我想创建我的第一个 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
        }};

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

【问题讨论】:

  • 你用什么语言写的?因为这不是 javascript,而且根本不是正确的 jQuery。 if 之后的 else 在哪里?
  • 你不觉得将所有东西都命名为黑色或红色会令人困惑吗?
  • Haml+java 脚本。对于您的 if 问题,我没有其他问题。不认为我必须。
  • ehehe 这有点令人困惑。只是想给简单的名字
  • @TJonS haml.info

标签: javascript ruby-on-rails checkbox haml


【解决方案1】:

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

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

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

<Black />

<Red />

你想要的是&lt;input id='Black' /&gt;

所以指定id的

function Black(){
  if($('input#Black').is(':checked'))
    $('input#Red').prop('checked', 'checked');
  else
    $('input#Red').prop('checked', '');
}};

【讨论】:

  • 感谢您的回答,但没有运气
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-03-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-10-08
  • 2013-03-02
相关资源
最近更新 更多