jQueryjs函数传值间传值的问题

在 SegmentFault,学习技能、解决问题
每个月,我们帮助 1000 万的开发者解决各种各样的技术问题。并助力他们在技术能力、职业生涯、影响力上获得提升。
问题对人有帮助,内容完整,我也想知道答案
问题没有实际价值,缺少关键内容,没有改进余地
jquery如何快速获取页面的get传值
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
使用如下方法获取get的值:
var getUrlParameter = function getUrlParameter(sParam) {
var sPageURL = decodeURIComponent(window.location.search.substring(1)),
sURLVariables = sPageURL.split('&'),
sParameterName,
for (i = 0; i & sURLVariables. i++) {
sParameterName = sURLVariables[i].split('=');
if (sParameterName[0] === sParam) {
return sParameterName[1] === undefined ? true : sParameterName[1];
例如:页面为:
var t = getUrlParameter(t); //t = 2
同步到新浪微博
分享到微博?
关闭理由:
删除理由:
忽略理由:
推广(招聘、广告、SEO 等)方面的内容
与已有问题重复(请编辑该提问指向已有相同问题)
答非所问,不符合答题要求
宜作评论而非答案
带有人身攻击、辱骂、仇恨等违反条款的内容
无法获得确切结果的问题
非开发直接相关的问题
非技术提问的讨论型问题
其他原因(请补充说明)
我要该,理由是:
在 SegmentFault,学习技能、解决问题
每个月,我们帮助 1000 万的开发者解决各种各样的技术问题。并助力他们在技术能力、职业生涯、影响力上获得提升。javascript函数传值问题
通常对于我们开发者来说,有不少人是忽略了这些小问题的,但是我们又必要去了解.因为今天一个朋友问起,所以写到这里来了,
在C#中,我们知道如果要往一个函数中传递参数的类型为对象,数组或者其他引用类型时.
实际上传递过去的是对象的地址.
那么在javascript中,是否会有什么差异呢?下面我们需要通过例子来证明.
var par1 = 1; //数字(值类型)
var par2 = []; //数组(引用类型)
var par3 = {}; //对象(引用类型)
function Test(par1, par2, par3) {
&&&& par1 = 3;
&&&& par2 = [1, 2, 3];
&&&& par3 = {a:1};
Test(par1, par2, par3);
alert(par1);//输出1
alert(par2);//输出空白
alert(par3.a);//输出undefined上面这段代码我们首先分别定义了值类型par1, 引用类型par2,par3,并传入到Test函数中.
但是par2,par3输出的仍然是之前的数据.
是不是说如果在调用函数时传入引用类型,其实也是传递值呢? 其实不是的.
数组、对象等引用类型也是按值传递,但是这里的值是指变量地址的值
前面的例子中,当我们将par2,par3传入函数的时候,其实就有了地址的副本,这些副本就和外面par2,par3的地址指向是一样的.
但是我们为par2, par3赋了值, 改变了地址指向,于是地址就指向了新的对象和数组.这样其实内部和外部的par2,par3就不是指向同一个地址的了.
为了证明这个问题,我们可以试着不赋值给他们,而是直接使用自身的对象.代码如下:
var par1 = 1; //数字(值类型)
var par2 = []; //数组(引用类型)
var par3 = {}; //对象(引用类型)
function Test(par1, par2, par3) {
&&& par1 = 3;
&&& par2.push(10);//操作自身对象
&& par3.a = 2; //操作自身对象
Test(par1, par2, par3);
alert(par1);//输出1
alert(par2);//输出10
alert(par3.a);//输出2事实证明了,当我们调用函数传入值类型参数时,我们传入的就是值,传入引用类型的值时,我们传入的,就是他们的地址.用jquery向后台传值的问题! - ITeye问答
现在的要求是通过jquery想后台传值过去,然后根据值来进行删除功能
可以这样理解:比如现在要删除数据库里面的一条记录,要根据ID号来删除,然后从页面上用jquery把ID传到后台进行删除,有高手能指导下麽,我jquery不是很熟,能否给个例子程序?非常感谢了~~~~
采纳的答案
$.ajax({
type:"get",
url:"ajax1.jsp",
data:"id="+id+"&"+"test=123", //要传的值
success:function(data){
alert("success");
}
});
这仅仅是个例子ha
function deleteVote(id){
&&& jConfirm("确定删除投票?", "温馨提示", function(flag){
if (flag) {
m_sform.save("&%=basePath%&action?VoteAction=&action=Delete&DS=19&voteId=" + id);
这是我从公司项目中拷出来的代码。你自己看看....
jquery是不能直接传递参数到后台的
只有通过提交form表单,url传值等手段才能传值到后台.
楼主你既然通过jquery取得ID了随便在一个URL后面或者form中的隐藏域赋值就OK了
这个应该很容易吧,$.get("(你后台的action名字,记得把ID在这里传过去,或者在后面那个参数传递ID也可以)",function callback()
{
&&& //这是回调函数,返回的时候你要进行的操作
})
已解决问题
未解决问题jQuery中get和post方法传值测试及注意事项
我的图书馆
jQuery中get和post方法传值测试及注意事项
用 jQuery 的都知道,jQuery 的 get 和 post 方法有三个参数:地址,数据 和回调函数,但我们知道地址也可以跟随数据的(形如:get_data.php?v1=1&v2=2),而且第二个参数可以省略,即第二个参数可 以直接写回调函数,那么数据写在地址后面和写在 data 参数里有什么区别呢?
刚刚做了几个实验,看看下面的代码就清楚了:
以下内容需要回复才能看到
jquery_data.php
echo 'post: ';
print_r($_POST);
echo 'get: ';
print_r($_GET);
jquery_test.html
$(function() {
// post 方法,两处都有数据
$.post('jquery_data.php?v1=1', {v2: 2}, function(data) {
').append(data).appendTo('body');
返回结果:
post: Array
get: Array
$(function()
// post 方法,数据在地址后面, 第二个参数为回调函数
$.post('jquery_data.php?v1=1', function(data)
$('&pre/&').append(data).appendTo('body');
返回结果,数据在 get 中:
post: Array
get: Array
$(function()
// get 方法,用 data 参数传值
$.get('jquery_data.php', {v2: 2}, function(data)
$('&pre/&').append(data).appendTo('body');
返回结果,数据在 get 中:
post: Array
get: Array
$(function()
// get 方法,两处都有数据
$.get('jquery_data.php?v1=1', {v2: 2}, function(data)
$('&pre/&').append(data).appendTo('body');
返回结果,两处数据被合并了,都在 get 中:
post: Array
get: Array
$(function()
// get 方法,两处都有数据,且变量名相同
$.get('jquery_data.php?v2=1', {v2: 2}, function(data)
$('&pre/&').append(data).appendTo('body');
返回结果,数据在 get 中,且 data 参数中的数据覆盖了地址后面的数据:
post: Array
get: Array
通过这几个简单的小例子不难看出,地址后面的数据永远是以 get 形式传递的,无论使用的是 get 方法还是 post 方法;而 data 参数中的数据是根据方法决定传递方式的。
因此,为了避免混淆,建议大家尽量不要把数据写在地址后面,而是统一放在 data 参数中。
当然,如果你想在用 post 方法时,同时利用 get 传值,那么就可以把要以 get 方式传递的数据写在地址后面,把要以 post 方式传递的数据写在 data 参数中。
总之方法是死的,人是活的,怎么用还要看实际情况。子曾经曰过:实践是检验真理的唯一标准。没事做做实验,掌握知识更牢固。
TA的最新馆藏[转]&[转]&
喜欢该文的人也喜欢16:11 提问
jquery 选项卡之间如何传值
&div class="tabs" currentIndex="0" eventType="click"&
&div class="tabsHeader"&
&div class="tabsHeaderContent"&
&li&&a href="javascript:;"&&span&A&/span&&/a&&/li&
&li&&a href="javascript:;"&&span&B&/span&&/a&&/li&
&li&&a href="javascript:;"&&span&C&/span&&/a&&/li&
如上代码所示,就是个单纯的选项卡,现在我要把A选项卡里面的表单中的ID批量传输到B选项卡的里面去,该怎么传值?求大神解惑
按赞数排序
这个和选项卡就没什么关系了,这个就是纯粹的jq获取赋值而已
不要想太多 直接jq获取
然后给b赋值就行了
(当然你想绑定函数都没问题的)
看你自己写的动作了,比如你点选项卡的时候触发的方法,在方法里面可以写任意实现。用隐藏域、或者获取当前点击的选项卡的name,id,class等等
直接dom操作就行了,除非你选项卡嵌套了iframe什么的
如果没有iframe,可以直接传值,用jquery的选择器就可以传值.
// # 号后面的是输入框或者select的id字段
$("#inputid").val();// 输入框,select,
// . 点号后面的是输入框或者select的class字段,会返回多个
$(".inputclass").val();//输入框,select
这样就可以传值了.
交给前段做:点击存储Cookie信息
--& 跳转 --& 拉取Cookie 信息
交给后端做:点击提交查询 --&后端返回查询结果集--&后端response添加参数(标识) --&前段获取response参数,根据参数判断显示选项卡项--&加载数据
但愿没理解错
这样的话你就按钮绑定js函数跳转action
function deleteStu(){
document.getElementById('myForm').action = "ctl.jsp?op=delete";
document.getElementById("myForm").submit();
这样修改了form表单的提交路径再提交就可以了
混脸熟,围观大佬们~~~
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐

我要回帖

更多关于 c 函数传值 的文章

 

随机推荐