2015-01-06 27 views
0

我已經創建了搜索欄,並帶有篩選器按鈕,可以搜索教師和學生的名字。首先,我可以修復搜索到我的數據庫來的學生,但是當我試圖使用過濾器按鈕沒有從下拉按鈕發送的值,所以這是我可憐的代碼,請過來幫幫我吧如何從bootstrap的下拉菜單發送值到php

HTML:

<form method="post" action="<?php echo $_SERVER['SCRIPT_NAME']; ?>"> 
    <div class="input-group"> 
     <div class="input-group-btn search-panel"> 
      <button name="filter" type="button" class="btn btn-primary dropdown-toggle" data-toggle="dropdown" href="#" id="dropdownMenu1"> 
       <span class="selection pull-left">Select an option</span></button> 
      <ul class="dropdown-menu" role="menu" aria-labelledby="dropdownMenu1" style="box-shadow:0px 6px 12px rgba(0, 0, 0, 0.176)"> 
       <li><a href="#Teacher" class="" data-value="Teacher"><span>Teacher</span></a></li> 
       <li><a href="#Student" class="" data-value="Student"><span>Student</span></a></li> 
       <li class="divider"></li> 
       <li><a href="#all">All</a></li> 
      </ul> 
     </div> 
     <!-- <input type="hidden" name="search_param" value="all" id="search_param">   --> 
     <input name="txtSearch" type="text" class="form-control" id="txtSearch" placeholder="Search term..." 
      value="<?php echo $wordSearch; ?>"> 
      <span class="input-group-btn"> 
      <button id="btnSearch" class="btn btn-primary" type="submit"> 
       <span class="glyphicon glyphicon-search"></span></button> 
      </span> 
    </div> 
</form> 

和這是我的JS

<script type="text/javascript"> 
    $(".dropdown-menu").on('click', 'li a', function(){ 
    var selText = $(this).children("span").html(); 

    $(this).parent('li').siblings().removeClass('active'); 
     $('#vl').val($(this).attr('data-value')); 
    $(this).parents('.input-group-btn').find('.selection').html(selText); 
    $(this).parents('li').addClass("active"); 
    }); 

</script> 

我不知道關於PHP 聚苯乙烯。一切都在同一個頁面下(請參見下面的附圖) http://upic.me/i/hg/ssssss.jpg

回答

0

如果您正在尋找在發佈數據到後端的搜索您可能需要一個AJAX後做ASYC(像jQuery的AJAX方法)docs here

如果你想使用的一種形式,你需要給你開始使用的東西

1

鏈接PHP端之前,HTML表單heres the MDN docs閱讀起來不是一個表單元素。你需要告訴一個表單字段(它將發送值 - 與鏈接相比)關於值。 你實際上已經在這行做這在JavaScript:

$('#vl').val($(this).attr('data-value')); 

現在你只需要創建相應的表單字段(屬性ID =「VL」)在您的形式。 在這個例子中使用像這樣的「隱藏」表單域。 只需添加這某處標記之間:

<input type="hidden" id="vl" name="vl" value=""> 

然後你就可以在PHP與獲得的價值:

$_POST['vl'] 
+0

好吧,首先,你是明白什麼是我的問題的目的,所以我寫這篇文章代碼來測試,並沒有出來 ' <?php $ filter = null; (isset($ _ POST ['vl'])) { $ filter = $ _POST ['vl']; } echo $ filter; ?>' 還有一個問題我需要點擊提交按鈕才能發送數值,或者只需點擊下拉菜單中的列表,數值就會發送出去? 因爲我測試這個 '' ,並且它在我從下拉菜單中選擇時立即工作 –

+0

現在它不會通過單擊來提交,但是您可以添加' $(「form」)。submit();'在$(this).parents('li')。addClass(「active」);'後面'使其自動提交。 – SimonEritsch