这可能是一个简单的问题,但我已经把这个问题解决了。我想在array
中显示一个复选框的值,这样我就可以用它来激活一个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'> ".$name."
</form>
</div>";
}
}
?>
<!-- /Custom taxonomy checkboxes -->
。但我似乎无法让它发挥作用。这是我目前的代码。
$('.checkIt').change(function(e) {
var value = $(this).val();
$.post('../wp-content/themes/mysite/includes/search-team-wp.php',{value:value}, function(data){
$('#search_results_team').hide().fadeIn(1100);
$("#search_results_team").html(data);
console.log(value);
});
});
number = number + "60149041982"
let url = "http://api.appname.my/sendSms.php?message=hello&phone=\(number)"
Alamofire.request(url).response{ (responseObject) -> Void in
print(responseObject)
}
});
一切正常,即使是AJAX调用,除了console.log输出,所以我不能通过AJAX调用发送不同的值。任何帮助都会非常好!
答案 0 :(得分:2)
问题是因为您在.checkIt
事件中的选择器中选择了所有 change
个元素。当你在元素集合上调用val()
时,jQuery将只返回第一个元素的值。
要解决此问题,您只需获取引发change
事件的元素的值。为此,请在处理程序中使用this
关键字:
var value = $(this).val();
答案 1 :(得分:2)
使用
var value = $(this).val();
答案 2 :(得分:1)
尝试下面给出的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)
}
})
答案 3 :(得分:0)
您可以使用
$('.checkIt').is(':checked')
这将为您提供复选框。
答案 4 :(得分:0)
复选框的Jquery.val()始终返回...您定义的值,尽管已选中状态。
如果你需要像检查返回值那样的东西,否则返回undefined你应该这样做:value = $('.checkIt:checked').val();