2013-09-16 3 views
0

Я использую PHP, jQuery, Colorbox- ajQuery lightbox плагин и т. Д. Для моего сайта. Я не понимаю, почему ошибка приходит! Можете ли вы мне помочь в этом вопросе, пожалуйста? Мой код выглядит следующим образом:Какая ошибка со следующим кодом?

<span class="submit edit_user_transaction_status" value="{$control_url}{$query_path}?op=edit_user_transaction&page={$page}&txn_no={$user_transaction_details.transaction_no}&transaction_data_assign={$user_transaction_details.transaction_data_assign}&user_id={$user_id}{if $user_name!=''}&user_name={$user_name}{/if}{if $user_email_id!=''}&user_email_id={$user_email_id}{/if}{if $user_group!=''}&user_group={$user_group}&{/if}{if $user_sub_group!=''}&user_sub_group={$user_sub_group}{/if}{if $from_date!=''}&from_date={$from_date}{/if}{if $to_date!=''}&to_date={$to_date}{/if}{if $transaction_status!=''}&transaction_status={$transaction_status}{/if}{if $transaction_no!=''}&transaction_no={$transaction_no}{/if}">Update</span> 

$(document).ready(function() { 
$(".edit_user_transaction_status").live('click', function(e) { alert("Hallo"); 
     e.preventDefault(); 

     $.colorbox.close(); 

     //for confirmation that status change 
     var ans=confirm("Are you sure to change status?"); 
     if(!ans) { 
      return false; 
     } 
     var post_url   = $(this).attr('value'); 
     var transaction_status_update = $('#transaction_status_update').val();  

     $.ajax({ 
      type: "POST", 
      url: post_url+"&transaction_status_update="+transaction_status_update, 
       data:$('#transaction_form').serialize(), 
      dataType: 'json', 
      success: function(data) {    
       var error = data.login_error; 

       $(".ui-widget-content").dialog("close"); 
       //This variables use for display title and success massage of transaction update    
       var dialog_title = data.title;    
       var dialog_message = data.success_massage; 
       //This get link where want to rerdirect 
       var redirect_link = data.href;    

       var $dialog = $("<div class='ui-state-success'></div>") 
       .html("<p class='ui-state-error-success'>"+dialog_message+"</p>") 
       .dialog({ 
        autoOpen: false, 
        modal:true, 
        title: dialog_title, 
        width: 500, 
        height: 80, 
        close: function(){          
         document.location.href =redirect_link; 
        }     
       });      

       $dialog.dialog('open');      
      }   
     }); 
    }); 
}); 

Я получаю следующее сообщение об ошибке в консоли при нажатии на пролете Update:

TypeError: $(...).live is not a function 
[Break On This Error] 

$(".edit_user_transaction_status").live('click', function(e) { alert("Hallo"); 

Можете ли вы сказать мне, почему эта ошибка приходит и то, что это решение Эта проблема? Заранее спасибо.

ответ

0

Live удаляется в 1.9+ и осуждается в 1.7+ использования on() вместо этого и, если элемент динамически добавляется делегат на ближайший статическом элементе, как этот

$(document).on('click', '.edit_user_transaction_status', function (e) { 
    alert("hallo") 
}); 
+0

Я пробовал трюк, но функция не вызвана сейчас. Предупреждающее сообщение не печатается. – PHPLover

+0

Получаете ли вы какие-либо ошибки в консоли? И какую версию jQuery вы используете? – Anton

+0

Я не получаю никаких ошибок на консоли. Я использую jquery-1.9.1.min.js – PHPLover

0

я не могу комментировать, потому что я имею низкую репутацию но это должно работать

$(".edit_user_transaction_status").on('click', function (e) { 
    alert("hallo") 
}); 
Смежные вопросы