这是一个问题,是关于我之前的问题的继续 JQuery next class 感谢所有帮助我解决这个问题的人。
现在我在设置默认值时遇到问题。有两个部分。
第一部分: 假设有一个链接可以加载默认的item1,item2以及item2 我所做的是通过URL链接传递值,如此
index.php?item1=3
现在我如何检查并分别启用? 我已经使用PHP来检查和设置禁用,如果没有传递,当传递它dosnt设置禁用。但是现在问题是第二项没有通过值的项目被禁用(第1项被启用并且被设置为默认的ids传递& item2,项目3被禁用)并且启用项目2我已经重新选择了item1。
因为,根据jquery item2仅在item1更改时才解锁。如何覆盖这个?
第二部分:与第一部分类似,但对于某些页面,item1在code()中设置为默认值,并且没有任何内容通过url传递。问题再次相同。
我知道两者都有类似的问题,只是想知道是否有一个简单的解决方案,而不是将所有part2更改为part1,即通过url传递item1(我必须手动进入每个页面并更改:()。
答案 0 :(得分:0)
嘿,您需要通过This链接检查参数的名称。并检查value是否为null。并且对非空值执行操作。
function getParameterByName(name)
{
name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
var regexS = "[\\?&]" + name + "=([^&#]*)";
var regex = new RegExp(regexS);
var results = regex.exec(window.location.search);
if(results == null)
return "";
else
return decodeURIComponent(results[1].replace(/\+/g, " "));
}
这样你可以调用函数来获取值:
var Value = getParameterByName("Item1");
答案 1 :(得分:0)
您可以使用函数从jQuery解析查询字符串。
QueryString (取自此SO answer)
(function($) {
$.qs = (function(a) {
if (a == "") return {};
var b = {};
for (var i = 0; i < a.length; ++i)
{
var p=a[i].split('=');
if (p.length != 2) continue;
b[p[0]] = decodeURIComponent(p[1].replace(/\+/g, " "));
}
return b;
})(window.location.search.substr(1).split('&'))
})(jQuery);
<强>的Javascript 强>
var item1 = $.qs('item1');
if (item1) {
// do something...
} else {
// set a default value...
}