Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 08.08.2013, 17:50
Новичок на форуме
Отправить личное сообщение для m175 Посмотреть профиль Найти все сообщения от m175
 
Регистрация: 08.08.2013
Сообщений: 3

jQuery - codeigniter. Невозможно удалить второй елемент на странице
Здравствуйте,

На страницу загружаются елеменьы с БД, которые нужно выборочно удалять. После удаления любого елемента, <div> обновляется, но дальше нет возможности удалять, так как селект не срабатывает.

это упрощенный пример. На страницу "test" загружаются id с БД, формируются кнопки с value='id' (значение id - с БД). После чего кликаю на кнопку, значение id передается в функцию test_delete($id), удаляется запись с БД и потом формируется html которые передается назад в вид test и затирает старые данные.

После этого jquery селект не срабатывает.
Что надо исправить чтоб можно было удалять любые даные на странице ?

Контролер:

function test_contr(){
   $this->load->model('admin/Product_crud');
   $data['query']=$this->Product_crud->test_model_select_data();
   $this->load->view('admin/test',$data);
   
}

function test_delete($id){
   $output = NULL;
   //var_dump($id);
   $this->load->model('admin/Product_crud');
   $this->Product_crud->test_delete($id);
   $data['query']=$this->Product_crud->test_model_select_data();
   
   foreach($data['query'] as $row){
      $output .= $row->id."<input class='del_picture' type='button' value='".$row->id."' name='id'>";
   }
  // echo $output;
    echo json_encode($output);
   //var_dump($data);
   //$this->output->enable_profiler(TRUE);
   
}


Модель: выкладывать нет необходимости

Вид:

<!DOCTYPE html>
<html>
   <head>
   <META http-equiv="Content-Type" content="text/html; charset=utf-8">   
   <script src="/script/jquery-1.9.1.min.js"></script>
   </head>
<body>
   
   
<div class="result_table">
   
<?php
foreach ($query as $row){
   echo $row->id."<input class='del_picture' type='button' value='".$row->id."' name='id'>";
}
?>  
</div>
   
   <script>
$(".del_picture").on("click", function(){
  
   var id =  $(this).attr("value");
     var myurl = '<?php echo base_url()."admin/main/test_delete/"?>';
     
    var url = myurl + id;
    $.ajax({
            url: url,
            type:'GET',
            dataType: 'json',
            
            success: function(update_html){
                    $(".result_table").html(update_html);
                     
                } 
            });    
   
});
</script>

</body>
</html>
Ответить с цитированием
  #2 (permalink)  
Старый 08.08.2013, 23:55
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

Сообщение от m175
Что надо исправить чтоб можно было удалять любые даные на странице ?
нормально поставить on на неудаляемый элемент "result_table" или выше body или document
$(".result_table").on("click", ".del_picture", function(){
Ответить с цитированием
  #3 (permalink)  
Старый 09.08.2013, 12:18
Новичок на форуме
Отправить личное сообщение для m175 Посмотреть профиль Найти все сообщения от m175
 
Регистрация: 08.08.2013
Сообщений: 3

Вы ше body не сработало, все оставил на своих местах, только скрипт обернул как Вы указали и даные начали удалятся.
Вот окончательный код:
$(".result_table").on("click", ".del_picture", function(){
$(".del_picture").on("click", function(){
 /* alert("hi"); */
   var id =  $(this).attr("value");
     var myurl = '<?php echo base_url()."admin/main/test_delete/"?>';
     
    var url = myurl + id;
    $.ajax({
            url: url,
            type:'GET',
            dataType: 'json',
           
            
            success: function(update_html){
                    $(".result_table").html(update_html);
                     
                } 
            });    
   });
});


Огромное спасибо .

Еще один вопрос по производительности. Задержка 200-350 мс, следующая запись так сразу не удаяляется. По умолчанию ж стоит асинхронный запрос...
Ответить с цитированием
  #4 (permalink)  
Старый 09.08.2013, 12:43
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

m175,
должно работать без строк 2 и 19 -- а success естественно сработает когда ответит сервер.
Ответить с цитированием
  #5 (permalink)  
Старый 09.08.2013, 13:04
Новичок на форуме
Отправить личное сообщение для m175 Посмотреть профиль Найти все сообщения от m175
 
Регистрация: 08.08.2013
Сообщений: 3

удалили строки задержка исчезла.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
CODEIGNITER + JQUERY SORTABLE espmh50 Элементы интерфейса 0 19.02.2013 07:58
На странице подключатся несколько библиотек jQuery и вылазит ошибка hrundel Общие вопросы Javascript 0 22.12.2012 16:50
Несколько версий JQuery UI на одной странице. Casufi jQuery 2 10.11.2012 15:24
Как сделать 2 галереи JQuery на одной странице? orendzi jQuery 8 16.07.2011 15:22
jQuery, load: замена элемента вырубает js на странице. warobushek AJAX и COMET 0 08.10.2010 07:44