在jQuery代码中使用classname的一部分

时间:2011-01-29 14:05:19

标签: jquery jeditable

这是我现有的代码,用于使用jEditable

选择保存对数据库的更改
    <script type="text/javascript" charset="utf-8">
$('.editable_select').live('click',function(){
  $('.editable_select').editable('includes/js/save_to_db.php', { 
      tooltip   : '<?php echo $lang['tooltip']; ?>',
      event     : 'dblclick',
      data   : '<?php print json_encode($select_bet_termijn); ?>',
      type   : 'select',
      submit : 'OK',
      style  : 'inherit',
     submitdata : function() {
    }
  });
});
</script>

    <?php td colspan="2" class="editable_select" id="adressen|betalingstermijn_id|'.$row['id'].'">'.$row['betalingstermijn_id'].'</td> ?>

我想要实现的是将类重命名为editable_select | select_bet_termijn,并在jEditable代码中的2个位置使用此类:

  • editable_selec =班级名称
  • select_bet_termijn =数据名称(= 阵列)

如何使用|拆分类名seperator并在代码中插入新的varibales [0] / [1]?

1 个答案:

答案 0 :(得分:0)

根据CSS Grammar,在类名中使用管道|无效,因此我将您的拆分标识符更改为-_-。话虽这么说,使用简单的javascript split方法几乎可以获得您需要的结果,多次使用它来解释我们的元素上有多个类的情况:

$(some_selector).live('click',function(e){
  var tClass    = $(this).attr('class');
  var aClass    = tClass.split('-_-');
  var aClass0   = aClass[0].split(' ');        // split on ' ' to separate
  var aClass1   = aClass[1].split(' ');        // multiple classes
  var class1    = aClass0[aClass0.length - 1]; // and then choose our
  var class2    = aClass1[0];                  // class names

  $('.' + class1).editable('includes/js/save_to_db.php', { 
      tooltip   : "<?php echo $lang['tooltip']; ?>",
      event     : 'dblclick',
      data      : '<?php print json_encode($' + class2 + '); ?>',
      type      : 'select',
      submit    : 'OK',
      style     : 'inherit',
      submitdata: function() {
                  }
  });
});

我不确定我是否准确理解了您的要求,但这应该可以帮助您。