通过php脚本中的$_POST[';';]获取ul的选定值,该值的作用类似于select标记


Get selected value of ul that acts like select tag through $_POST[' '] in php script

<form method='get' action="video.php">
  <div class="search-box">
    <section class="main">
      <div class="wrapper-demo">
        <div id="dd" class="wrapper-dropdown-3" tabindex="1">
          <span name='level' class="span-level">Level</span>
          <ul class="dropdown">
            <li class="get"><a href="#"><i class="icon-truck icon-large"></i>All</a></li>
            <li class="get"><a href="#"><i class="icon-plane icon-large"></i>A1</a></li>
            <li class="get"><a href="#"><i class="icon-plane icon-large"></i>A2</a></li>
            <li class="get"><a href="#"><i class="icon-truck icon-large"></i>B1</a></li>
            <li class="get"><a href="#"><i class="icon-plane icon-large"></i>B2</a></li>
            <li class="get"><a href="#"><i class="icon-plane icon-large"></i>C1</a></li>
            <li class="get"><a href="#"><i class="icon-truck icon-large"></i>C2</a></li>
            <li class="get"><a href="#"><i class="icon-plane icon-large">  </i>Native</a></li>
          </ul>
        </div>
      ​</div>
    </section>
  </div>
  <button type='submit' name='search_submit'>
    <img name='search' src="img/videos.png" alt='search' class='search videos'/></button>
</form>
</form>

正如你所看到的,有:

<span name='level' class="span-level">Level</span>

但当我试图通过获得价值时

$level = $_GET['level'];

它不起作用。

我想获得所选值的值,并通过将其传递给我的video.php脚本

if(isset($_GET['search_submit'])){
  $level = $_GET['level'];
}

这是一个将所有内容放在一起的脚本,因此ul的行为就像选择标签:

function DropDown(el) {
  this.dd = el;
  this.placeholder = this.dd.children('span');
  this.opts = this.dd.find('ul.dropdown > li');
  this.val = '';
  this.index = -1;
  this.initEvents();
}
DropDown.prototype = {
  initEvents : function() {
    var obj = this;
    obj.dd.on('click', function(event){
      $(this).toggleClass('active');
      return false;
    });
    obj.opts.on('click',function(){
      var opt = $(this);
      obj.val = opt.text();
      obj.index = opt.index();
      obj.placeholder.text(obj.val);
    });
  },
  getValue : function() {
    return this.val;
  },
  getIndex : function() {
    return this.index;
  }
}
$(function() {
  var dd = new DropDown( $('#dd') );
  $(document).click(function() {
    $('.wrapper-dropdown-3').removeClass('active');
  });
});

我使用了这个插件,我想在jQuery脚本中我可以以某种方式获得所选元素的值,但我不知道如何获得。

有人知道我该怎么做吗?(如何获取所选元素并在php脚本中使用它)

HTML中没有名为level表单元素。因此,不会向服务器发送密钥为level的值。

您需要某种形式的元素,例如:

<input type="hidden" name="level" />

然后在处理"选项"的点击事件的JavaScript中设置该值。看起来你在这里的代码中得到了这个值:

obj.val

所以一旦你有了它,你就可以在input:中设置它

$('input[name=level]').val(obj.val);

该输入将是向服务器发布值的内容,可在$_GET['level']中找到。