使用jquery

时间:2016-08-29 17:51:04

标签: jquery html backbone.js onclick radio-button

我有一个表单,我想保持提交按钮被禁用,直到选中所需的单选按钮。现在我想要如果用户检查单选按钮红色然后提交已启用但如果用户检查绿色然后它应该检查是否有任何alpha或如果选中,则选择或不选择,然后启用提交按钮,否则将其禁用,直到用户检查其中任何一个。这是我的模板和jquery代码。

<div class="type1">
     <div id="Red">
      <input type="radio" class="colorType red" name="colorType" value="Red">Red
     </div>
     <div id="Green">
      <input type="radio" class="colortype green" name="colorType" value="Green">Green
     </div>
    </div>
    <div class="type2">
     <input type="radio" class="frequency" name="frequency" value="alpha">Alpha
     <input type="radio" class="frequency" name="frequency" value="beta">Beta
    </div>
    <span class="float-right">
    <button class="button-save" disabled>Save &#38; Close</button>
</span>

我的javascript代码是

events : {
  'change .colorType': 'removeDisable'
},
  removeDisable : function(){
    if ($('.red').is(':checked')) {
      $(".button-savel").attr("disabled", false);
    } else if ($('.green').is(':checked')) {
      if ($('.frequency').is(':checked')) {
        $(".button-save").attr("disabled", false);
      }else {
        $(".button-save").attr("disabled", true);
      }

    } else {
      return false;
    }
  },

一切正常但当我点击绿色并选择alpha或beta时,按钮不会启用。否则,如果我点击红色按钮启用。 我的javascript是针对骨干js。

2 个答案:

答案 0 :(得分:0)

我猜测.is()检查没有成功,因为有两个项目需要检查,而且两个项目都无法同时检查 - 也许可以尝试使用&#39;或者单独检查每个项目。 #39;比较

if ($($('.frequency')[0]).is(':checked') || $($('.frequency')[1]).is(':checked')) {
祝你好运!

答案 1 :(得分:0)

所以我发现了问题,点击绿色后我需要另一个更改事件。在频率上创建on change事件,然后在单击绿色时调用该函数解决了问题。

Please have a look at the code:
#include <iostream>
using namespace std;

 class base1
 {
 public:
    int x,y;
 };
  class base2
 {
 public:
    int x, z;
 };

 class derived: virtual public  base1,virtual public  base2
 {
    public:
     void display(int a, int b, int c)
     {
        x=a;
        y=b;
        z=c;
        cout<<x<<endl<<y<<endl<<z<,endl;

     }
 };

 int main()
 {
    derived dr;
    dr.display(1,2,3);
 }

这解决了这个问题。我能够排除故障的好事。