'获取'由easyjbs加载的变量由ajax加载

时间:2017-03-21 15:01:10

标签: javascript php jquery ajax

在php中的Normaly我可以使用像这样传入的变量:

http://localhost:88/myapp/mypage.php?id=552200

$_GET['id'];

我现在切换页面以使用easytabshttps://os.alfajango.com/easytabs/

选项卡在index.php上初始化,它有2个选项卡,page1.php和page2.php 在index.php中,我有这个代码来初始化标签:

jQuery(function($) {

  var container = $('#ajax-tab-container');

  container.easytabs({
    animate: false,
    cache: false,
    updateHash: true,
    defaultTab: $('#selectedTab').val()
  }).bind('easytabs:after', function(event, $clicked, $targetPanel, response, status, xhr) {
    $('input, textarea, select, button', $('.disable-fields')).prop('readonly', true).prop('disabled', true);
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="http://rawgit.com/JangoSteve/jQuery-EasyTabs/master/lib/jquery.easytabs.js"></script>

<div id="ajax-tab-container" class='tab-container'>

  <ul class='etabs'>
    <li class='tab'>
      <a href="Verloop_meldingen.php" data-target="#tab-1">Verloop meldingen</a>
    </li>
    <li class='tab'>
      <a href="openstaande_meldingen.php" data-target="#tab-2">Openstaande meldingen</a>
    </li>
  </ul>

  <div class='panel-container'>
    <div id="tab-1"></div>
    <div id="tab-2"></div>
  </div>
</div>

我遇到的问题是,在index.php中,$ _GET变量可用,但在选项卡中加载的页面中,它们不是。

知道如何在子页面中获取变量吗?

2 个答案:

答案 0 :(得分:4)

在a href中你可以像往常一样传递id

像这样:

 <a href="Verloop_meldingen.php?id=1" data-target="#tab-1">Verloop meldingen</a> 
 <a href="openstaande_meldingen.php?id=1" data-target="#tab-2">Openstaande meldingen</a>

在您的其他页面中,您可以像往常一样使用$ _GET

获取变量

如果您需要动态更改,可以使用javascript更改href,如下所示:

$('yourhref selector class/id here').attr('href', 'new href');

答案 1 :(得分:0)

我通常喜欢使用这样的脚本来为我收集javascript页面中的get变量。

它允许我简单地执行get('paramname','somedefaultvalueifiwantto')从get参数中获取我想要的变量值。只需将脚本(没有console.log)部分插入到标题中,您就可以获得一个很好的get函数。

var some_get = get('open_tab','first-tab');

如果你能用哈希就可以了,你可以使用document.location.hash来快速获得你需要的值。

+(function(document) {
  function processGet() {
  var $get = {};
  var $rest = document.location.href
      .replace(document.location.hash,'')
      .replace(document.location.protocol+'//','')
      .replace(document.location.host,'')
      .replace(document.location.pathname,'');
  if (!($rest.trim().length === 0) && $rest.indexOf('?') === 0) {
     $rest = $rest.substring(1);
     if($rest.trim().length > 0) {
         var $roughGet = $rest.split('&').map(function($paramSet,$index, $array) {
                                                  var $set = $paramSet.split('=');
                                                  if($set.length == 1) {
                                                      $set[1] = null;
                                                  }
                                                  var value = $set[1] ? decodeURIComponent($set[1]) : null;
                                                  return {'key': decodeURIComponent($set[0]),'value' : value};
                                                });
         
           for(var c=0;c<$roughGet.length;c++) {
                 var $key = $roughGet[c].key;
                 var $value = $roughGet[c].value;
                 $get[$key] = $value;
           }

       }
      }
      return $get;
  }
  
  var GET = processGet();
  window.get = function(param, defaultValue) {
      var value = null;
      if(GET.hasOwnProperty(param)) {
          value = GET[param];
      }
      if(value === null) {
          if(defaultValue === undefined) {
              return value;
          }
          else {
              return defaultValue;
          }
      }
      return value;
  };
})(document)

console.log(get('foo','no'));