获取多个复选框的值并将其插入MySQL

时间:2018-09-13 11:25:45

标签: javascript jquery

我曾尝试过寻找类似于我的解决方案的SO,但找不到任何东西。

我的网站上有4个复选框

String hostname = InetAddress.getLocalHost().toString();

我想做的是每当单击其中的任何一个时,我想循环浏览所有的它们,似乎检查了哪些,获取它们的值并根据选择更新MySQL。我很确定我会在PHP / MySQL部分中满意,但是我在jQuery上苦苦挣扎以获取值。

让我们以此为例。选中复选框1和3,未选中2和4。我只想发布复选框1和3的值。然后,如果将复选框2添加到选择中,我要发布复选框1、2和3的值。

这是我到目前为止尝试过的。当我单击任何复选框时,它会做出反应,但是我不确定如何获取特定值。

<label class="control-label" for="last_name"><strong>Filtering Options</strong> </label>
<div style='color: #777; font-size: 16px;'><td  class='text-center'> <input type='checkbox' name="filters" id='city_checkbox' class='checkbox filters' $lstr_completed_city value="location_city"/> </td> City </div>
<div style='color: #777; font-size: 16px;'><td  class='text-center'> <input type='checkbox' name="filters" id='county_checkbox' class='checkbox filters' $lstr_completed_county value="location_zip"/> </td> County </div>
<div style='color: #777; font-size: 16px;'><td  class='text-center'> <input type='checkbox' name="filters" id='region_checkbox' class='checkbox filters' $lstr_completed_region value="location_region"/> </td> Region </div>
<div style='color: #777; font-size: 16px;'><td  class='text-center'> <input type='checkbox' name="filters" id='country_checkbox' class='checkbox filters' $lstr_completed_country value="location_country"/>   </td> Country</div>

3 个答案:

答案 0 :(得分:1)

使用以下代码

$('input[type="checkbox"]').click(function () {
                var arrayCheck = new Array();
                $('input[type="checkbox"]').each(function (i) {
                    if ($(this).prop('checked') == true) {
                        arrayCheck.push(i + 1);
                    }

                });
            });

答案 1 :(得分:0)

在复选框上检查选中的属性,如果找到,则读取该值。

$("input[name=filters]").each(function() {
                if($(this).attr('checked')){
            console.log($(this).val());
        }
      });

答案 2 :(得分:0)

如果您有jQuery的选项,那为什么不呢?只需选择父项,找到附加一些事件的所有目标,然后在该事件中重复值。

$(function(){
  $("#checkboxes [type='checkbox']").change(function(ev){
      console.clear()
      $("#checkboxes [type='checkbox']:checked").map((index, cb)=> {
            console.log(cb.value)
      });
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="checkboxes">
<input type='checkbox' name="filters" id='city_checkbox' class='checkbox filters' $lstr_completed_city value="location_city"/>
 <input type='checkbox' name="filters" id='county_checkbox' class='checkbox filters' $lstr_completed_county value="location_zip"/>
 <input type='checkbox' name="filters" id='region_checkbox' class='checkbox filters' $lstr_completed_region value="location_region"/>
 <input type='checkbox' name="filters" id='country_checkbox' class='checkbox filters' $lstr_completed_country value="location_country"/>
</div>