2016-07-10 33 views
0

我創建了一個wordpress插件,將獲得所有學校,並在排名框中選擇3個。所以我試圖從一組使用jquery的複選框中獲取所有post_ids,並將它們發佈到我的php函數中。從我的代碼下面,我該怎麼做?WordPress的jQuery將項目添加到數組並將其發佈爲PHP

這裏是我的HTML和PHP代碼:

<?php foreach ($all_schools as $data):?>    
<div class="rank_box"> 
    <div class="left">           
     <div class="checkbox"> 
      <label class="pull-left"><input type="checkbox" name="nationality" value="<?php echo $data->post_id; ?>"></label> 
     </div> 
    </div> 
    <div class="right"> 
     <p><?php 
       if(strlen($data->school_name) >= 30){ 
        echo substr($data->school_name,0,30)."…"; 
       }else{ 
        echo $data->school_name; 
       } 
      ?><br>     
     </p> 
    </div> 
</div> 

<?php endforeach;?> 

<div id="divnationality"> 
</div> 

而且我的jquery:

$(document).ready(function(){ 
    $('input[name="nationality"]').click(function() {    
      getSelectedBoxes('nationality'); 
    }); 

    var getSelectedBoxes = function (groupName) { 
     var result = $('input[name="' + groupName + '"]:checked'); 
     if (result.length > 0) { 
      var resultString = result.length + " checkboxe(s) checked<br/>"; 
      result.each(function() { 
       resultString += $(this).val() + "<br/>"; 
      }); 
      $('#div' + groupName).html(resultString); 
     } 
     else { 
      $('#div' + groupName).html("No checkbox checked"); 
     } 
    }; 
}); 

回答

0

.click功能,我只想做:

var is_checked = $(this).prop("checked");

if (is_checked) ...

$(this).val()也應該得到輸入值,不管它是否被檢查。

要將值數據發佈到PHP,使用$.ajax()more info here)是這樣的:

var post_data = {}; 

if (is_checked) { 
    var value = $(this).val(); 
    post_data[value] = value; 
} 

$.ajax({ 
    url: 'YOUR_POST_URL', 
    type: 'POST', 
    data: post_data, 
    error: function(jqXHR, textStatus, errorThrown) { 
     alert(errorThrown); 
    }, 
    success: function(data) { 

    } 
}); 
+0

感謝您的快速回復@馬特...我將修改我的代碼以您的建議,但我想知道是什麼是如何將post_ids添加到使用jquery的數組中併發布它,以便我可以使用我的php函數來拉數組。 –

+0

更新了我的答案以包含郵政編碼。 – Matt

+0

謝謝亞光。我讓你的代碼工作。但我仍然保留我的getSelectedBoxes函數供將來使用。所以我添加了警告(「成功」)內的函數(數據),我想現在它的工作..我的最後一個問題是我怎麼能從我的PHP函數拉出發佈的數據? –