weixin_33717117 2013-02-20 05:37 采纳率: 0%
浏览 136

addClass不起作用

I have this code :

<div class="tableperso input-append">
<form id="perso" action="form/perso.php" method="post">
<table class="table2 table-bordered">
  <tr>
    <td>
      <input class="input-medium" type="text" placeholder="CMS" name="cmsperso" id="cmsperso" pattern="[-.,_ a-zA-ZáàâäãéèêëíìîïóòôöõúùûüýÿÁÀÂÄÃÉÈÊËÍÌÎÏÓÒÔÖÕÚÙÛÜÝ]+" />
      <input class="separ2 input-medium" type="text" placeholder="Chef de Quart" name="chefdequart" id="chefdequart" pattern="[-.,_ a-zA-ZáàâäãéèêëíìîïóòôöõúùûüýÿÁÀÂÄÃÉÈÊËÍÌÎÏÓÒÔÖÕÚÙÛÜÝ]+" />
      <input class="separ2 input-medium" type="text" placeholder="Adjoint" name="adjoint" id="adjoint" pattern="[-.,_ a-zA-ZáàâäãéèêëíìîïóòôöõúùûüýÿÁÀÂÄÃÉÈÊËÍÌÎÏÓÒÔÖÕÚÙÛÜÝ]+" />
    </td>
    <td class="button">
      <button id="persobtn" type="submit" name="persobtn" class="btn"><i class="icon-ok"></i></button>
    </td>
  </tr>
</table>
</form>
</div>

<script type="text/javascript">
 $(function () {
$('#perso').submit(function () {
  $.ajax({
    url: this.action,
    type: this.method,
    data: $(this).serialize(),
    success: function(data){
      data = $.parseJSON(data);
        if(data.status == "ok") {
          var now = new Date();
          var hours = now.getHours();
            if (now.getHours() <= 9) {
              var hours = '0'+now.getHours();
            }
            else {
              var hours = now.getHours();
            }
          var minutes = now.getMinutes();
            if (now.getMinutes() <= 9) {
              var minutes = '0'+now.getMinutes();
            }
            else {
              var minutes = now.getMinutes();
            }
          var cmsperso = $("#cmsperso").val();
          var chefdequart = $("#chefdequart").val();
          var adjoint = $("#adjoint").val();
          var emptycmsperso = $("#cmsperso").val().length == 0;
          var emptychefdequart = $("#chefdequart").val().length == 0;
          var emptyadjoint = $("#adjoint").val().length == 0;

          if (emptycmsperso && emptychefdequart && emptyadjoint) {
            $('#persobtn').addClass('btn-danger')
              .delay(1000)
              .queue(function() {
                 $(this).removeClass('btn-danger');
                 $(this).dequeue();
              });
          }
          else if (emptycmsperso && emptychefdequart) {
            $('#persobtn').addClass('btn-success')
                  .delay(1000)
                  .queue(function() {
                     $(this).removeClass('btn-success');
                     $(this).dequeue();
                  });
            var nouvelle_ligne = $('<tr><td class="thtime">'+hours+'h'+minutes+'</td><td>Prise de fonction de <b class="textepersoadj">'+adjoint+'</b> en tant qu\'adjoint.</td><td class="button"><button class="editperso"><i class="icon-pencil"></i></button></td><td class="button"><button class="trashperso"><i class="icon-trash"></i></button></td></tr>').fadeIn('fast');
          }
          else if (emptychefdequart && emptyadjoint) {
            $('#persobtn').addClass('btn-success')
                  .delay(1000)
                  .queue(function() {
                     $(this).removeClass('btn-success');
                     $(this).dequeue();
                  });
            var nouvelle_ligne = $('<tr><td class="thtime">'+hours+'h'+minutes+'</td><td>Prise de fonction de <b class="textepersocms">'+cmsperso+'</b> en tant que CMS.</td><td class="button"><button class="editperso"><i class="icon-pencil"></i></button></td><td class="button"><button class="trashperso"><i class="icon-trash"></i></button></td></tr>').fadeIn('fast');
          }
          else if (emptycmsperso && emptyadjoint) {
            $('#persobtn').addClass('btn-success')
                  .delay(1000)
                  .queue(function() {
                     $(this).removeClass('btn-success');
                     $(this).dequeue();
                  });
            var nouvelle_ligne = $('<tr><td class="thtime">'+hours+'h'+minutes+'</td><td>Prise de fonction de <b class="textepersocdq">'+chefdequart+'</b> en tant que Chef de Quart.</td><td class="button"><button class="editperso"><i class="icon-pencil"></i></button></td><td class="button"><button class="trashperso"><i class="icon-trash"></i></button></td></tr>').fadeIn('fast');
          }
          else if (emptycmsperso) {
            $('#persobtn').addClass('btn-success')
                  .delay(1000)
                  .queue(function() {
                     $(this).removeClass('btn-success');
                     $(this).dequeue();
                  });
            var nouvelle_ligne = $('<tr><td class="thtime">'+hours+'h'+minutes+'</td><td>Modification de l\'équipe de Quart : <b class="textepersocdq">'+chefdequart+'</b> prend la fonction de Chef de Quart et <b class="textepersoadj">'+adjoint+'</b> prend celle d\'adjoint.</td><td class="button"><button class="editperso"><i class="icon-pencil"></i></button></td><td class="button"><button class="trashperso"><i class="icon-trash"></i></button></td></tr>').fadeIn('fast');
          }
          else if (emptychefdequart) {
            $('#persobtn').addClass('btn-success')
                  .delay(1000)
                  .queue(function() {
                     $(this).removeClass('btn-success');
                     $(this).dequeue();
                  });
            var nouvelle_ligne = $('<tr><td class="thtime">'+hours+'h'+minutes+'</td><td>Modification de l\'équipe de Quart : <b class="textepersocms">'+cmsperso+'</b> prend la fonction de CMS et <b class="textepersoadj">'+adjoint+'</b> prend celle d\'adjoint.</td><td class="button"><button class="editperso"><i class="icon-pencil"></i></button></td><td class="button"><button class="trashperso"><i class="icon-trash"></i></button></td></tr>').fadeIn('fast');
          }
          else if (emptyadjoint) {
            $('#persobtn').addClass('btn-success')
                  .delay(1000)
                  .queue(function() {
                     $(this).removeClass('btn-success');
                     $(this).dequeue();
                  });
            var nouvelle_ligne = $('<tr><td class="thtime">'+hours+'h'+minutes+'</td><td>Modification de l\'équipe de Quart : <b class="textepersocms">'+cmsperso+'</b> prend la fonction de CMS et <b class="textepersocdq">'+chefdequart+'</b> prend celle de Chef de Quart.</td><td class="button"><button class="editperso"><i class="icon-pencil"></i></button></td><td class="button"><button class="trashperso"><i class="icon-trash"></i></button></td></tr>').fadeIn('fast');
          }
          else {
            $('#persobtn').addClass('btn-success')
                  .delay(1000)
                  .queue(function() {
                     $(this).removeClass('btn-success');
                     $(this).dequeue();
                  });
            var nouvelle_ligne = $('<tr><td class="thtime">'+hours+'h'+minutes+'</td><td>Modification de l\'équipe de Quart : <b class="textepersocms">'+cmsperso+'</b> prend la fonction de CMS, <b class="textepersocdq">'+chefdequart+'</b> prend celle de Chef de Quart et <b class="textepersoadj">'+adjoint+'</b> prend celle d\'adjoint.</td><td class="button"><button class="editperso"><i class="icon-pencil"></i></button></td><td class="button"><button class="trashperso"><i class="icon-trash"></i></button></td></tr>').fadeIn('fast');
          }
          $('#tablemc').append(nouvelle_ligne);
        }
        else {
          alert(data.error);
        }
    }
  });
return false;
});
$(document).on("click", ".trashperso", function(e){
  e.preventDefault();
    var $ligneParent = $(this).parent().parent();
    trashperso($ligneParent);
});

function trashperso(aLigneToTrash) {
if (confirm("Vous allez supprimer définitivement cette ligne !")) {
  var cmsperso = aLigneToTrash.children().children('.textepersocms').html();
  var chefdequart = aLigneToTrash.children().children('.textepersocdq').html();
  var adjoint = aLigneToTrash.children().children('.textepersoadj').html();

  $.ajax({
    type: "POST",
    url: "form/delete/deleteperso.php",
    data: { cmsperso: cmsperso, chefdequart: chefdequart, adjoint: adjoint },
    cache: false,
    success: function() {
      aLigneToTrash.fadeOut('slow', function() {
        aLigneToTrash.remove();
      });
    }
  });
  return false;      
 }
}

$(document).on("click", ".editperso", function(f){
  f.stopPropagation();
    var $CellParent = $(this).closest('td').prev().prev();
    editperso1($CellParent);
});

function editperso1(aCellToEdit) {
  aCellToEdit.editable({
    mode: 'inline',
    inputclass: 'input-mini'
  });
}

$(document).on("click", ".editperso", function(g){
  g.stopPropagation();
    var $CellParent = $(this).closest('td').prev().children('b');
    editperso2($CellParent);
});

function editperso2(bCellToEdit) {
  bCellToEdit.editable({
    mode: 'inline',
    inputclass: 'input-medium texteperso',
    type: 'text',
    success: function() {
      var cmsperso = $('.textepersocms').next('span').children('div').children('form').children('div').children('div').children('div').children('input.texteperso').val();
    var chefdequart = $('.textepersocdq').next('span').children('div').children('form').children('div').children('div').children('div').children('input.texteperso').val();
    var adjoint = $('.textepersoadj').next('span').children('div').children('form').children('div').children('div').children('div').children('input.texteperso').val();

    if(cmsperso === undefined) { var cmsperso = $(this).closest('td').children('.textepersocms').html(); }
    if(chefdequart === undefined) { var chefdequart = $(this).closest('td').children('.textepersocdq').html(); }
    if(adjoint === undefined) { var adjoint = $(this).closest('td').children('.textepersoadj').html(); }

    var cmsperso2 = $(this).closest('td').children('.textepersocms').html();
    var chefdequart2 = $(this).closest('td').children('.textepersocdq').html();
    var adjoint2 = $(this).closest('td').children('.textepersoadj').html();

    var pattern = /^[\-.,_ a-zA-ZáàâäãéèêëíìîïóòôöõúùûüýÿÁÀÂÄÃÉÈÊËÍÌÎÏÓÒÔÖÕÚÙÛÜÝ]+$/;
    var patterncms = pattern.test(cmsperso);
    var patterncdq = pattern.test(chefdequart);
    var patternadj = pattern.test(adjoint);

    if (patterncms == true && patterncdq == true && patternadj == true) {
      $.ajax({
        type: "POST",
        url: "form/update/updateperso.php",
        data: { cmsperso: cmsperso, cmsperso2: cmsperso2, chefdequart: chefdequart, chefdequart2: chefdequart2, adjoint: adjoint, adjoint2: adjoint2 }
      });
    }
    else {
      $('input.texteperso').parents('div.control-group').each(function() {
        $(this).addClass('error');
        console.log($(this));
      });
      return false;
    }
  }
  });
}
});

addClass is not working, I use jquery 1.9.1 and Bootstrap 2.3.0. Before this code, I create a dynamic input in a div with the class "control-group". If there is no error, all works fine but if there is a problem, I want to add the class "error" but the console.log returns "jQuery(div.control-group)" without the error class.

and "this" return to the <div class="control-group">

when i try addClass, nothing change.

when i try attr('class', 'error'), i have error.

when i try attr('class', 'control-group error'), i have only control-group

and when i try attr('class', 'control-group'+ 'error'), i have control-grouperror (without space)

thanks for helping me

  • 写回答

2条回答 默认 最新

  • 衫裤跑路 2013-02-20 05:41
    关注

    use jquery migrate and not jquery 1.9 there is sine bug with the latest release. rather I would say the latest release is not stable

    jquery.com/download/

    评论

报告相同问题?

悬赏问题

  • ¥50 导入文件到网吧的电脑并且在重启之后不会被恢复
  • ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。
  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
  • ¥20 腾讯企业邮箱邮件可以恢复么
  • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
  • ¥15 错误 LNK2001 无法解析的外部符号
  • ¥50 安装pyaudiokits失败
  • ¥15 计组这些题应该咋做呀
  • ¥60 更换迈创SOL6M4AE卡的时候,驱动要重新装才能使用,怎么解决?
  • ¥15 让node服务器有自动加载文件的功能