我有这段代码,其中值来自php
<table class="table datatable-basic">
<tr>
<th>-<th>
<th>title<th>
</tr>
//forloop
<tr>
<td><input class="chk" type="checkbox" name="uid[]" id="uid" value="<?php echo $id; ?>"></td>
</tr>
<tr>
<td><?php echo "$title" ?></td>
</tr>
</table>
<button id="go">GO</buton>
所以在我的jQuery中,我想要提醒id
复选框的值,当我点击按钮时,去&#39;并选中该复选框。我怎么能这样做?
答案 0 :(得分:2)
您可以使用此选择器input.chk:checked
和函数$.toArray
将所选元素作为数组,然后执行函数map
以获取值。
最后,函数join
将创建一个字符串,其中数组中的值以逗号分隔。
$('#go').on('click', function() {
var selectedValues = $('input.chk:checked').toArray().map(function(chk) {
return $(chk).val();
});
console.log(selectedValues.join());
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table class="table datatable-basic">
<tr>
<th>title</th>
</tr>
<tr>
<td><input class="chk" type="checkbox" name="uid[]" id="uid" value="111"></td>
</tr>
<tr>
<td><input class="chk" type="checkbox" name="uid[]" id="uid" value="222"></td>
</tr>
<tr>
<td>Title</td>
</tr>
</table>
<button id="go">GO</buton>
答案 1 :(得分:1)
您的设置存在问题 - 它们的ID都是&#34; uid&#34;。 ID必须是唯一的。
但是因为他们有课,你可以这样做:
var selectedValues = [];
$('input.chk:checked').each(function() {
selectedValues.push($(this).val());
});
selectedValues
数组将包含所有选中复选框的值。
然后,您可以将这些一起加入由逗号分隔的字符串join
。
selectedValues.join(',');
答案 2 :(得分:1)
为了演示输出,我从HTML中省略了PHP部分。您可以尝试以下代码:
$('#go').click(function(){
var val = '';
$('.chk:checked').each(function(){
val += ', ' + $(this).val();
});
alert(val);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table class="table datatable-basic">
<tr>
<th>-<th>
<th>title<th>
</tr>
<tr>
<td><input class="chk" type="checkbox" name="uid[]" id="uid" value="111"></td>
</tr>
<tr>
<td><input class="chk" type="checkbox" name="uid[]" id="uid" value="222"></td>
</tr>
<tr>
<td>Title</td>
</tr>
</table>
<button id="go">GO</buton>