2015-08-16 48 views
0

對不起,問題類,但我需要我的JQuery的/ Javascript代碼的幫助不大調用函數根據JQuery的

我有這樣的代碼從<a href=""></a>

代碼模擬按鈕

<a href="@Url.Action("Create", "Tourist", new { id = Model.id })" eventsid="@Model.id" class="btn btn-primary newTourist"><i class="fa fa-plus"></i> Add</a> 

我需要這個代碼調用一個函數在我<script></script>聲明

宣言

<script type="text/javascript" src="~/Scripts/jquery-1.11.0.js"></script> 
<script type="text/javascript"> 

    function clearErrors() { 
     $('#msgErrorNewTourist').html(''); 
     $('#msgError').html(''); 
    } 

    function writeError(control, msg) { 
     var err_msg = '<div class="alert-message error"><a class="close" href="#">×</a><p>' + msg + '</p></div>'; 
     $('#' + control).html(err_msg); 
    } 

    $(document).ready(function() { 

     $('.closeModal').live('click', function() { 
      this.remove(); 
      $('#Modal-Tourist').modal('hide'); 

     }); 

     $('#Modal-Tourist form').live('submit', function() { 
      clearErrors(); 

      $.post($(this).attr('action'), $(this).serialize(), function (data, status) { 
       $('#Modal-Tourist').modal('hide'); 
       $("#eventsDetailsList").html(data); 

      }).error(function (error, status, a, b) { 
       writeError('msgError', 'Error processing request. Please check errors and try again!'); 
       $('.modal-body div.alert').html(error.responseText); 

      }); 
      return false; 
     }); 


     function getRequest(url) { 
      $.ajax({ 
       url: url, 
       context: document.body, 
       success: function (data) { 
        $('.modal-content p.body').html(data); 
        $(this).addClass("done"); 
        $('#Modal-Tourist').modal('show'); 
        $('#Name').focus(); 
       }, 
       error: function (err) { 
        writeError('msgErrorNewTourist', err.responseText); 
       } 
      }); 
     } 

     $('a.newTourist').live('click', function() { 
      alert('Ingreso'); 
      clearErrors();    
      var id = $(this).attr("eventsid"); 
      var url = '@Url.Content("~/Tourist/Create")/' + id; 

      getRequest(url); 

      return false; 
     }); 
    }); 
</script> 

但不工作,我的代碼完全運行狀態,並在一定時刻,我的腳本來驗證代碼的整個身體放在一個alert('working');在充電和運行...

對不起我的英語不好,有人能幫助我,讓我看看我的代碼的錯誤,爲什麼不工作的呼籲功能

$('a.newTourist').live('click', function() { 
     alert('Ingreso'); 
     clearErrors();    
     var id = $(this).attr("eventsid"); 
     var url = '@Url.Content("~/Tourist/Create")/' + id; 

     getRequest(url); 

     return false; 
    }); 
+1

不清楚您的問題是什麼。你是在說它的'$('a.newTourist')。live('click',function(){'這個函數不工作嗎?'getRequest(url)'是什麼?''.live()'是在jquery 1.7中折舊並在1.9中刪除(不使用它) –

+0

進一步對@StephenMuecke說,你應該使用jQuery的[on()](http://api.jquery.com/on/)函數 –

+0

@StephenMuecke是的,是我的問題,不工作的那部分,'我的getRequest(url)'是從我的部分視圖(Html代碼)的內容大部分...什麼用於調用函數,而不是.live()? –

回答

0

感謝斯蒂芬·馬克和弗蘭克·法哈多的幫助

我改變了<script></script>,更換.live().on()和代碼工作完美,我還有其他的問題,但我想打開其他職位是......謝謝你們

<script type="text/javascript" src="~/Scripts/jquery-2.1.4.js"></script> 
<script type="text/javascript"> 

    function clearErrors() { 
     $('#msgErrorNewTourist').html(''); 
     $('#alert').html(''); 
    } 

    function writeError(control, msg) { 
     var err_msg = '<div class="alert-message error"><a class="close" href="#">×</a><p>' + msg + '</p></div>'; 
     $('#' + control).html(err_msg); 
    } 

    $(document).ready(function() {     
     $('#Modal-Tourist form').on('submit', function() {    
      if ($(this).valid()) { 
       $.ajax({ 
        url: '@Url.Action("Create","Tourist")', 
        data: $(this).serialize(), 
        success: function (result) { 
         $('#Modal-Tourist').modal('hide'); 
         $("#eventsDetailsList").html(result); 
        }, 
        failure: function (err) { 
         writeError('body', 'Wrong Data'); 
        } 
       }); 
      } 
      return false; 
     }); 

     function getRequest(url) { 
      jQuery.noConflict(); 
      $.ajax({ 
       url: url, 
       context: document.body, 
       success: function (data) { 
        $('.modal-content p.body').html(data);      
        $('#Modal-Tourist').modal('show'); 
        $('#Name').focus(); 
       }, 
       error: function (err) { 
        writeError('msgErrorNewTourist', err.responseText); 
       } 
      }); 
     } 


     $('a.newTourist').click(function() {   
      var id = $(this).attr("eventsid"); 
      var url = '@Url.Content("~/Tourist/Create")/' + id; 

      getRequest(url); 

      return false; 

     }); 
    }); 
</script>