我是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”参数。
答案 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>