如果使用url传递值,则JQuery设置为default

时间:2013-04-19 06:34:24

标签: php javascript jquery html

这是一个问题,是关于我之前的问题的继续 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(我必须手动进入每个页面并更改:()。

2 个答案:

答案 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...
}