1

我是 jQuery 的新手。我正在尝试一些事情,但我需要一些帮助。

我有以下脚本

jQuery(function($){
        $("#query").whatever({
          parameter1: 32,
          parameter2: 4,
          query: "something"
        });
      });

我需要一个脚本来query: "something"通过query: "something else"提交表单更改。是否可以?

ps:我改为$("#query").something不要$("#query").whatever与参数混淆query: "something"

实际上,我使用来自http://tweet.seaofclouds.com/的jquery 代码我想通过提交表单更改示例 2 中的“查询”参数,正如我之前所说的那样。

4

3 回答 3

1

看看:http ://api.jquery.com/jQuery.extend/

有一个表格:

    <form>
        <input name="newvalue" id="newvalue" type="text"/>
        <input type="button" id="onclickUpdate" value="update" name="update"/>
    </form>
    <script>
        var obj = {
            parameter1 : 32,
            parameter2 : 4,
            query : "something"
        };
        $(function() {
            $('#onclickUpdate').click(function(e) {
                e.preventDefault();
                console.log('old : ' + obj.query);
                $.extend(obj, {
                    query : $('#newvalue').val()
                });
                console.log('new : ' + obj.query);
                $("#query").something(obj);
            });
        });
    </script>
于 2012-06-22T14:02:33.893 回答
0

好吧,假设您正在使用 $.ajax() 提交表单。提交表单时,您可能会传递 3 到 4 个键以及它们的值作为数据,对吧?在这些密钥对值之一中,您需要一个默认值,因此不要从头开始构建散列,而是从默认值开始,将要发送的其他值添加到其中:

initdata = {query:"something-else"}; //not needed if you don't include the "query" key while populating tobesent
tobesent = {}; //may be through serializing a form through serializeArray or something
tobesent = $.extend(tobesent,initdata);  
$.ajax({
url : "foo.php",
data: tobesent,success: function() {}
});

这是你要找的吗?

于 2012-06-22T18:49:41.883 回答
-1

是的,将选项包含为字典,并将查询键预设为其他值,并将选项字典作为要传递的参数传递。

于 2012-06-22T14:02:03.960 回答