【问题标题】:jQuery does not work with jQTouch in iPhonejQuery 不适用于 iPhone 中的 jQTouch
【发布时间】:2011-08-21 08:32:56
【问题描述】:

我在 Asp.Net MVC 3 应用程序中将 jQTouch 用于 Web 应用程序。该应用程序有一个 id 为 ajax_form 的订单表单,当单击“orderlink”类的链接时,该表单会填充该链接中的 id 和文本。

当我在桌面浏览器中测试应用程序时,所有这些都可以正常工作。但是,当我在 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);它有时会起作用。但我看不出它为什么只在某些时候起作用的模式。我只需要多次点击链接,几次后表单会更新为当前点击链接的新值......非常不稳定的行为。以下是示例订单链接:

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

【问题讨论】:

    标签: jquery jqtouch


    【解决方案1】:

    找到了解决方案:如果我更改它以便 orderlinks 触发 jQT.goTo() 它可以工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-05
      • 1970-01-01
      • 1970-01-01
      • 2011-03-18
      • 1970-01-01
      相关资源
      最近更新 更多