2011-08-21 35 views
0

我在一個Asp.Net MVC 3應用程序中使用jQTouch作爲web應用程序。該應用程序有一個ID爲ajax_form的訂單,當點擊帶有「orderlink」類的鏈接時,表單中將填入此鏈接的ID和文本。jQuery不適用於iPhone中的jQTouch

當我在桌面瀏覽器中測試應用程序時,所有這些工作正常。然而,當我嘗試它在iPhone上生活,表單工作和所有,但值單擊鏈接時沒有插入表單中。那麼爲什麼它在桌面瀏覽器中工作,而不是在iPhone上?

這裏是jQuery的(包括所有,如果有衝突或東西被發現,但它的.submit點擊功能和orderlink那我指的是活的點擊功能):

<script type="text/javascript"> 
     $(document).ready(function() { 
      updateDetails(); 
      $(".submit").click(function() { 
       var form = $("#ajax_form"); 
       var action = "@Url.Action("Order")"; 
       var serializedForm = form.serialize(); 
       $.post(action, serializedForm, function(data) { 
        $('#orderresult').html(data); 
       }); 
       return false; 
      }); 

      $('.orderlink').live('click', function() { 
       var prodno = this.id; //Why should this not have $(this)? Doesn't work then. 
       var name = $(this).text(); 

       $("#productnumber").val(prodno); 
       $("#productname").val(name); 
      }); 

      $(".back").click(function() { 
       $('#orderresult').html(""); 
      }); 

      $('#names').change(function() { 
       updateDetails(); 
      }); 
      $('#features').change(function() { 
       updateDetails(); 
      });    
     }); 

     function updateDetails() { 
       var nameid = $('#names').val(); 
       var featureid = $('#features').val(); 
       var url = "@Url.Action("DatabaseDetails")"; 
       $.get(url, {nameid: nameid, featureid : featureid}, function(data) { 
        $('#databasedetails').html(data); 
       }); 
     } 

    </script> 

編輯:如果我刪除回調$('#orderresult')。html(data);它在某些時候有效。但是我看不到它爲什麼只在某些時候才起作用的模式。我只需要不斷地點擊鏈接幾次,並在幾次後,表單更新爲當前點擊鏈接的新值......非常不穩定的行爲。下面是例子orderlinks:

<a class="orderlink" id="2" href="#ajax_form">Configurator Software</a> 
<a class="orderlink" id="1" href="#ajax_form">ACME Hard Drive 2000</a> 

回答

0

找到了解決辦法:如果我改變它,以便orderlinks觸發jQT.goTo(),它的工作。

相關問題