2014-10-22 2 views
0

Я использую x-editablehttp://vitalets.github.io/x-editable/index.html редактор jQuery inplace. В настоящее время у меня есть рабочий код, как показано ниже:Назначение и получение значения от того же идентификационного имени

<?php 
    $num_rows = 1; 
    // store the record of the "tblstudent" table into $row 
    while ($row = mysqli_fetch_array($result)) { 

     echo "<script type=\"text/javascript\"> 
     $.fn.editable.defaults.mode = \"popup\";      
     $('#username$num_rows').editable();   

     </script> "; //assign num to element 

     // Print out the contents of the entry 

     echo '<tr>'; 
     echo '<td><a href="#" id="username' . $num_rows . '" data-type="text" data-pk="' . $row['id'] . '" data-url="post.php" data-title="Edit website">'; 
     echo htmlspecialchars($row['website'], ENT_QUOTES, 'UTF-8'); 
     echo '</a></td>'; 
     echo '</tr>'; 
     $num_rows++; 
    } 
?> 

, которые приводят к следующему:

enter image description here

, но как вы можете видеть, я использую $num_rows в присвоении идентификатор элемента и получить идентификатор с помощью JavaScript. Я предпочитаю не использовать цикл для присвоения идентификатора uniq ID или включать javascript в php-тег. Есть ли элегантное решение, чем это?

Заранее спасибо.

+0

Зачем вам нужен идентификатор? Если намерение состоит в том, чтобы узнать, какой элемент был нажат, это можно сделать, используя событие jquery click. –

+0

уверен, используйте идентификатор db в атрибуте data, чтобы у вас был простой идентификатор для обновления той же строки. – charlietfl

ответ

1

Сохраните идентификатор в качестве имени пользователя или введите class='username' вместо id.

<script type="text/javascript"> 

    $.fn.editable.defaults.mode = "popup"; 

    $('.username').click(function(){ 

     $(this).editable(); 

    }) 


</script> 
+0

Я добавляю как класс, так и id 'username', и он работает. Благодарю. В конце концов, мое понимание класса неверно. – sg552

Смежные вопросы