提交表单后,请获取复选框值

时间:2014-03-14 08:28:48

标签: javascript php jquery html forms

这是我的表格&我当前的网址是... / pg / members / all

<form id="simplesearch" name="simplesearch" action="<?php echo $vars['url'];?>pg/members/searchuser" method="post">
<table class="people_search" style="border:none;">

       <div id="toggle_profile_type">
       <input type="hidden" value="0" name="meta_data_array_search_criteria[custom_profile_type]">
       <p class="skills_even1"><input type="checkbox" name="meta_data_array_search_criteria[custom_profile_type][]" value="39242" class="messageCheckbox"><span>Job Seeker</span></p>
       <p class="skills_odd1"><input type="checkbox" name="meta_data_array_search_criteria[custom_profile_type][]" value="39243" class="messageCheckbox"><span>Employer</span></p>
       <p class="skills_even1"><input type="checkbox" name="meta_data_array_search_criteria[custom_profile_type][]" value="39449" class="messageCheckbox"><span>college</span></p>
       </div>

</table>
</form>

在我编写的脚本中

$(document).ready(function(){
  $(":checkbox").click(function(){
    simplesearchsubmitform();
  }); 
});

function simplesearchsubmitform()
{
  if(document.simplesearchonsubmit && !document.simplesearch.onsubmit()) {
    return;
  }
  document.simplesearch.submit();
}

我正在提交表单,然后URL更改.... / pg / members / searchuser。现在我需要获取所选的checkbox值。这样我就可以将这个值附加到div&amp;该复选框将保持选中状态。

任何想法的人怎么做?我搜索了很多,但我没有找到解决方案。请帮帮我们..

4 个答案:

答案 0 :(得分:5)

在“pg / members / searchuser”

更新2.0 您使用此代码:

<?php

if(isset($_POST['meta_data_array_search_criteria']))
{  

   foreach($_POST['meta_data_array_search_criteria'] as $val)
   {
        foreach($val as $checkbox_data)
        {
            echo $checkbox_data."<br/>";
        }
   }
 } else 
 {
     echo "No checkbox checked";
 }
?>

如何选中复选框: 有两种方法,使用JS或PHP。 jQuery片段:

<script src="http://code.jquery.com/jquery-1.11.0.min.js"></script>
<script src="http://code.jquery.com/jquery-migrate-1.2.1.min.js"></script>

<script type="text/javascript">
$(document).ready(function()
{


<?php

if(isset($_POST['meta_data_array_search_criteria']))
{  

   foreach($_POST['meta_data_array_search_criteria'] as $val)
   {
        foreach($val as $checkbox_data)
        {

            ?>
            $('input:checkbox[value="<?php echo $checkbox_data;?>"]').attr('checked','checked');
            <?php
        }
   }
 } else 
 {
     echo "No checkbox checked";
 }
?>
})
</script>

它做什么?它将选择那些复选框,我们从$ _POST获得的值。

答案 1 :(得分:0)

尝试将值添加到这样的数组中:

var values = new Array();
$.each($("input[name='meta_data_array_search_criteria[custom_profile_type][]']:checked"), function() {
  values.push($(this).val());
});

答案 2 :(得分:0)

您正在使用POST将该表单发送到新网址。 因此,您需要使用PHP而不是JavaScript来捕获所有值。 在&#34; ... / pg / members / searchuser&#34;你只要求所有$ _POST,然后选择带有这些值的复选框。

答案 3 :(得分:0)

您可以查看此示例,它将根据帖子显示检查的值

    <?php
    if (isset($_POST['meta_data_array_search_criteria'])){
        $data = $_POST['meta_data_array_search_criteria'];

        if (is_array($data['custom_profile_type'])){
            //check and display checked value
            if (in_array('39242', $data['custom_profile_type']))
                echo '<p class="skills_even1"><input type="checkbox" name="meta_data_array_search_criteria[custom_profile_type][]" value="39242" class="messageCheckbox" checked><span>Job Seeker</span></p>';
            else
                echo '<p class="skills_even1"><input type="checkbox" name="meta_data_array_search_criteria[custom_profile_type][]" value="39242" class="messageCheckbox"><span>Job Seeker</span></p>';

            if (in_array('39243', $data['custom_profile_type']))
                    echo '<p class="skills_odd1"><input type="checkbox" name="meta_data_array_search_criteria[custom_profile_type][]" value="39243" class="messageCheckbox" checked><span>Employer</span></p>';
                else
                    echo '<p class="skills_odd1"><input type="checkbox" name="meta_data_array_search_criteria[custom_profile_type][]" value="39243" class="messageCheckbox"><span>Employer</span></p>';

            if (in_array('39449', $data['custom_profile_type']))
                    echo '<p class="skills_even1"><input type="checkbox" name="meta_data_array_search_criteria[custom_profile_type][]" value="39449" class="messageCheckbox" checked><span>college</span></p>';
                else
                    echo '<p class="skills_even1"><input type="checkbox" name="meta_data_array_search_criteria[custom_profile_type][]" value="39449" class="messageCheckbox"><span>college</span></p>';

        }
        else{
            //display all unchecked
            echo '<p class="skills_even1"><input type="checkbox" name="meta_data_array_search_criteria[custom_profile_type][]" value="39242" class="messageCheckbox"><span>Job Seeker</span></p>';
            echo '<p class="skills_odd1"><input type="checkbox" name="meta_data_array_search_criteria[custom_profile_type][]" value="39243" class="messageCheckbox"><span>Employer</span></p>';
            echo '<p class="skills_even1"><input type="checkbox" name="meta_data_array_search_criteria[custom_profile_type][]" value="39449" class="messageCheckbox"><span>college</span></p>';
        }

    }   
?>