2011-08-21 60 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(),它的工作。