Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/455.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 显示console.log中复选框中的值_Javascript_Jquery_Checkbox - Fatal编程技术网

Javascript 显示console.log中复选框中的值

Javascript 显示console.log中复选框中的值,javascript,jquery,checkbox,Javascript,Jquery,Checkbox,这可能是个简单的问题,但我一直在想这个问题。我想在控制台.log中显示复选框的值,这样我就可以用它来触发AJAX调用。但是每个复选框的值都是相同的(第一个) 我在谷歌上花了一些时间,我在那里读到的东西,我应该把复选框放在数组中。但我似乎无法让它发挥作用。这是我目前的代码 <!-- Custom taxonomy checkboxes --> <?php $taxonomy = 'locatie'; $queried_term = get

这可能是个简单的问题,但我一直在想这个问题。我想在控制台.log中显示复选框的值,这样我就可以用它来触发AJAX调用。但是每个复选框的值都是相同的(第一个)

我在谷歌上花了一些时间,我在那里读到的东西,我应该把复选框放在
数组中。但我似乎无法让它发挥作用。这是我目前的代码

<!-- Custom taxonomy checkboxes -->
     <?php
        $taxonomy = 'locatie';
        $queried_term = get_query_var($taxonomy);
        $terms = get_terms($taxonomy, 'slug='.$queried_term);
            if ($terms) {
              foreach($terms as $term) {
                $name = $term->name;
                echo "<div class='col-xs-12 col-sm-12 col-md-2 col-lg-2'>
                    <form id='location'>
                        <input class='checkIt' type='checkbox' value='".$name."' name='location' id='".$name."_id'>&nbsp;&nbsp;".$name."
                    </form>
                </div>";                             
              }
        }
    ?>
<!-- /Custom taxonomy checkboxes -->
}));


除了console.log输出之外,一切都正常,即使是AJAX调用,所以我不能通过AJAX调用发送不同的值。任何帮助都会很好

问题是因为您选择了所有
。请在
更改
事件中的选择器中选中它
元素。在对元素集合调用
val()
时,jQuery将只返回第一个元素的值

要解决此问题,您只需获取引发
change
事件的元素的值。为此,请在处理程序中使用
this
关键字:

var value = $(this).val();
使用

你可以用

$('.checkIt').is(':checked')

这将给您一个复选框。

尝试下面给出的ajax调用

var value = $(this).val(); 
     $.ajax({
                    type: "POST",
                    url:'../wp-content/themes/mysite/includes/search-team.php',
                    dataType: "json",
                    data: {
                      value:value
                    },
                   success:function(data){
                     $('#search_results_team').hide().fadeIn(1100);
                     $("#search_results_team").html(data);
                    console.log(value)
                    }
    })
复选框的Jquery.val()始终返回。。。您定义的值,无论处于选中状态


如果您希望类似于when check返回值,否则返回undefined,您应该执行以下操作:
value=$('.checkIt:checked').val()

这样您就能够成功地发布运行回调的数据和事件了?虽然此代码片段可以解决这个问题,但确实有助于提高您发布的质量。请记住,您将在将来回答读者的问题,这些人可能不知道您的代码建议的原因。谢谢。唯一的问题是,当Ajax事件触发时,该值不会显示在console.log中。而
#search_results_team
的响应与我的代码不一样?您是否在ajax范围之后对$(“#search_results_team”)执行操作?因为ajax是异步调用,所以下一条语句将在ajax调用完成其操作之前执行。要获取该值,还可以尝试“var obj=$(this);colsole.log语句将类似于console.log(obj.val());
var value = $(this).val(); 
     $.ajax({
                    type: "POST",
                    url:'../wp-content/themes/mysite/includes/search-team.php',
                    dataType: "json",
                    data: {
                      value:value
                    },
                   success:function(data){
                     $('#search_results_team').hide().fadeIn(1100);
                     $("#search_results_team").html(data);
                    console.log(value)
                    }
    })