我希望这个程序在我单击复选框时显示警告,但是我可以这样做,如果我尝试使用复选框,它就不起作用,或者它显示未确定的值。
<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<style>
td {border: 1px #DDD solid; padding: 5px; cursor: pointer;}
.selected {
background-color: brown;
color: #FFF;
}
</style>
<script>
$(document).ready(function(){
$("#table tr").click(function()
{
$(this).addClass('selected').siblings().removeClass('selected');
var value1=$(this).find('td:nth-child(2)').html();
var value2=$(this).find('td:nth-child(3)').html();
var value3=$(this).find('td:nth-child(5)').html();
alert(value1+" "+value2+" "+value3);
});
});
</script>
</head>
<body>
<table id="table" border="1">
<tr>
<label for="check">
<td><input type="checkbox" id="check"></td>
<td>Pizza</td>
<td>1000$</td>
<td>1200$</td>
<td>Vegetable Pizza</td>
<td>1</td>
<td>F138</td>
<td>Klik pre detaily</td>
</label>
</tr>
<tr>
<td><input type="checkbox" id="check"></td>
<td>Burger</td>
<td>1000$</td>
<td>1200$</td>
<td>HOT Sanwidtch Burger</td>
<td>1</td>
<td>F138</td>
<td>Klik pre detaily</td>
</tr>
<tr>
<td><input type="checkbox" id="check"></td>
<td>KFC Chicken</td>
<td>1000$</td>
<td>1200$</td>
<td>Spicy Hot Chicken</td>
<td>1</td>
<td>F138</td>
<td>Klik pre detaily</td>
</tr>
</table>
</body>
</html>
答案 0 :(得分:1)
要使用复选框,请使用.closest("tr")
$(document).ready(function() {
$("#table tr input[type=checkbox]").click(function() {
$(this).addClass('selected').siblings().removeClass('selected');
var value1 = $(this).closest("tr").find('td:nth-child(2)').html();
var value2 = $(this).closest("tr").find('td:nth-child(3)').html();
var value3 = $(this).closest("tr").find('td:nth-child(5)').html();
alert(value1 + " " + value2 + " " + value3);
});
});
&#13;
td {
border: 1px #DDD solid;
padding: 5px;
cursor: pointer;
}
.selected {
background-color: brown;
color: #FFF;
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table id="table" border="1">
<tr>
<label for="check">
<td><input type="checkbox" id="check" /></td>
<td>Pizza</td>
<td>1000$</td>
<td>1200$</td>
<td>Vegetable Pizza</td>
<td>1</td>
<td>F138</td>
<td>Klik pre detaily</td>
</label>
</tr>
<tr>
<td><input type="checkbox" id="check"></td>
<td>Burger</td>
<td>1000$</td>
<td>1200$</td>
<td>HOT Sanwidtch Burger</td>
<td>1</td>
<td>F138</td>
<td>Klik pre detaily</td>
</tr>
<tr>
<td><input type="checkbox" id="check"></td>
<td>KFC Chicken</td>
<td>1000$</td>
<td>1200$</td>
<td>Spicy Hot Chicken</td>
<td>1</td>
<td>F138</td>
<td>Klik pre detaily</td>
</tr>
</table>
&#13;
答案 1 :(得分:0)
我在结婚时发现这个代码
$('#CheckBoxList input[type=checkbox]').change(function() {
var id = $(this).val(); // this gives me null
if (id != null) {
//do other things
}
});
或者使用.on()你只需要定位被点击的输入:
$('#CheckBoxList').on('change', 'input[type=checkbox]', function() {
var id = $(this).val(); // this gives me null
if (id != null) {
//do other things
}
});
答案 2 :(得分:0)
我想出了这样的答案;
HTML
<table id="table" border="1">
<tr>
<label for="check">
<td><input type="checkbox" class="check"></td>
<td>Pizza</td>
<td>1000$</td>
<td>1200$</td>
<td>Vegetable Pizza</td>
<td>1</td>
<td>F138</td>
<td>Klik pre detaily</td>
</label>
</tr>
<tr>
<td><input type="checkbox" class="check"></td>
<td>Burger</td>
<td>1000$</td>
<td>1200$</td>
<td>HOT Sanwidtch Burger</td>
<td>1</td>
<td>F138</td>
<td>Klik pre detaily</td>
</tr>
<tr>
<td><input type="checkbox" class="check"></td>
<td>KFC Chicken</td>
<td>1000$</td>
<td>1200$</td>
<td>Spicy Hot Chicken</td>
<td>1</td>
<td>F138</td>
<td>Klik pre detaily</td>
</tr>
</table>
JS
$(document).ready(function(){
$('.check').click(function(){
var x = $(this).parents('tr').text();
alert(x);
});
});
在这里工作DEMO
答案 3 :(得分:0)
这将为您提供所选复选框的下一个td值,请记住此代码为您提供当前所选的复选框相关值,如果您需要全部,您可以按下数组中的先前选定值并显示结果或迭代所有选中复选框..
$('#table input[type="checkbox"]').click(function(){
if($(this).prop('checked')){
alert($(this).closest('td').next().html());
}
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table id="table" border="1">
<tr>
<label for="check">
<td><input type="checkbox" id="check"></td>
<td>Pizza</td>
<td>1000$</td>
<td>1200$</td>
<td>Vegetable Pizza</td>
<td>1</td>
<td>F138</td>
<td>Klik pre detaily</td>
</label>
</tr>
<tr>
<td><input type="checkbox" id="check"></td>
<td>Burger</td>
<td>1000$</td>
<td>1200$</td>
<td>HOT Sanwidtch Burger</td>
<td>1</td>
<td>F138</td>
<td>Klik pre detaily</td>
</tr>
<tr>
<td><input type="checkbox" id="check"></td>
<td>KFC Chicken</td>
<td>1000$</td>
<td>1200$</td>
<td>Spicy Hot Chicken</td>
<td>1</td>
<td>F138</td>
<td>Klik pre detaily</td>
</tr>
</table>
&#13;
答案 4 :(得分:0)
这是一种不使用jQuery的方法。
var checks = document.querySelectorAll('.check');
checks.forEach(function(element) {
//console.log(element);
element.addEventListener('change', function() {
//console.log();
if (this.checked) {
alert(this.dataset['food']);
}
});
});
<table id="table" border="1">
<tr>
<td><label for="check"></label><input type="checkbox" class="check" data-food="Pizza" /></td>
<td>Pizza</td>
<td>1000$</td>
<td>1200$</td>
<td>Vegetable Pizza</td>
<td>1</td>
<td>F138</td>
<td>Klik pre detaily</td>
</tr>
<tr>
<td><input type="checkbox" class="check" data-food="Burger"></td>
<td>Burger</td>
<td>1000$</td>
<td>1200$</td>
<td>HOT Sanwidtch Burger</td>
<td>1</td>
<td>F138</td>
<td>Klik pre detaily</td>
</tr>
<tr>
<td><input type="checkbox" class="check" data-food="KFC Chicken"></td>
<td>KFC Chicken</td>
<td>1000$</td>
<td>1200$</td>
<td>Spicy Hot Chicken</td>
<td>1</td>
<td>F138</td>
<td>Klik pre detaily</td>
</tr>
</table>
答案 5 :(得分:0)
我已经完成了复选框,它工作正常。在这里你可以看到:
$(document).ready(function(){
$(".checkbox-alert").click(function(){
var ele = $(this).parent().parent();
ele.addClass('selected').siblings().removeClass('selected');
var value1=ele.find('td:nth-child(2)').html();
var value2=ele.find('td:nth-child(3)').html();
var value3=ele.find('td:nth-child(5)').html();
alert(value1+" "+value2+" "+value3);
});
});
td {border: 1px #DDD solid; padding: 5px; cursor: pointer;}
.selected {
background-color: brown;
color: #FFF;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table id="table" border="1">
<tr>
<label for="check">
<td><input class="checkbox-alert" type="checkbox" id="check"></td>
<td>Pizza</td>
<td>1000$</td>
<td>1200$</td>
<td>Vegetable Pizza</td>
<td>1</td>
<td>F138</td>
<td>Klik pre detaily</td>
</label>
</tr>
<tr>
<td><input class="checkbox-alert" type="checkbox" id="check2"></td>
<td>Burger</td>
<td>1000$</td>
<td>1200$</td>
<td>HOT Sanwidtch Burger</td>
<td>1</td>
<td>F138</td>
<td>Klik pre detaily</td>
</tr>
<tr>
<td><input class="checkbox-alert" type="checkbox" id="check3"></td>
<td>KFC Chicken</td>
<td>1000$</td>
<td>1200$</td>
<td>Spicy Hot Chicken</td>
<td>1</td>
<td>F138</td>
<td>Klik pre detaily</td>
</tr>
</table>