использовать часть имени класса в коде jQuery - PullRequest
0 голосов
/ 29 января 2011

Это мой существующий код для сохранения изменений в моей базе данных с выбором с помощью 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 и использовать этот класс на 2 позиции в коде jEditable:

  • editable_selec = название класса
  • select_bet_termijn = имя данных (= массив)

Как разделить имя класса с помощью | разделитель и вставьте новые вариабельные значения [0] / [1] в код?

1 Ответ

0 голосов
/ 30 января 2011

Согласно 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() {
                  }
  });
});

Я не уверен, правильно ли я понял ваши требования, но это должно помочь вам.

...