从jquery中的href获取参数值

脚本

due today due in 2 days 
×
function pop() { var cat=**value of cat parameter in href** var type=**value of typ parameter in href** $.ajax({ type:'post', url:site_url()+'/event/deleteEventSingle', data:{'cat':cat,'type':typ}, async:false, success:function(result){} }); }

在此用户点击href时,同一弹出窗口会显示不同的数据。 实际上有超过10个hrefs,我试图在弹出窗口中显示用户输入数据的日历。 这取决于两个参数cat和typ ,如href所示。

需求

每个href都有自己的cat和typ值。 当单击href时,我希望使用jquery获取所点击的href的cat和typ值,以便我可以在ajax中传递这些变量。

 var cat=**value of cat parameter in href** var type=**value of typ parameter in href** 

试着

如何从click事件对象获取链接的href属性的参数

你可以做如下的事情

 $('a').bind('click',function(){ var url = ($(this).attr('href')); var cat = getURLParameter(url, 'cat'); var typ = getURLParameter(url, 'typ'); //calling the ajax function pop(cat, typ) }); function getURLParameter(url, name) { return (RegExp(name + '=' + '(.+?)(&|$)').exec(url)||[,null])[1]; } function pop(cat, typ) { $.ajax({ type:'post', url:site_url()+'/event/deleteEventSingle', data:{'cat':cat,'type':typ}, async:false, success:function(result){} }); } 

查看Live fiddle http://jsfiddle.net/mayooresan/aY9vy/上的示例

试试这个 :

 function getUrlParams(url) { var params = {}; url.substring(1).replace(/[?&]+([^=&]+)=([^&]*)/gi, function (str, key, value) { params[key] = value; }); return params; } 

用法:

 function pop(e) { var url = $(e.target).attr("href"); var params = getUrlParams(url); var cat= params["cat"]; var type= params["typ"]; alert(cat); alert(type); } 

工作小提琴