jQuery不适用于iPhone中的jQTouch

时间:2011-08-21 08:32:56

标签: jquery jqtouch

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

当我在桌面浏览器中测试应用程序时,所有这一切都正常。但是,当我在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> 

1 个答案:

答案 0 :(得分:0)

找到一个解决方案:如果我更改了它,以便订单链接触发jQT.goTo()就可以了。