如何使用提交表单更改jquery参数?

时间:2012-06-22 13:55:40

标签: jquery

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

我有以下脚本

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

我需要一个脚本,通过提交表单将query: "something"更改为query: "something else"。有可能吗?

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

Actualy我使用来自http://tweet.seaofclouds.com/的jquery代码我想通过提交表单更改示例2中的“query”参数。

3 个答案:

答案 0 :(得分: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>

答案 1 :(得分: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() {}
});

这是你在找什么?

答案 2 :(得分:-1)

是的,将选项括在字典中,并使用其他内容预设查询键,并将选项字典作为要传递的参数传递。< / p>