我有HTML表格,我需要选择一行并将其第一个单元格ID发送到按钮,按钮的onclick
将所选值发送到Javascript中的函数。我怎样才能做到这一点?
test.html :
<table id="table">
<tr>
<td>1 Ferrari F138</td>
<td>1 000€</td>
<td>1 200€</td>
</tr>
<tr>
<td>2 Ferrari F138</td>
<td>1 000€</td>
<td>1 200€</td>
</tr>
<tr>
<td>3 Ferrari F138</td>
<td>1 000€</td>
<td>1 200€</td>
</tr>
</table>
<input type="button" id="tst" value="OK" onclick="fnselect()" />
test.js :
var table = document.getElementById('table'),
selected = table.getElementsByClassName('selected');
table.onclick = highlight;
function highlight(e) {
if (selected[0]) selected[0].className = '';
e.target.parentNode.className = 'selected';
}
function fnselect(){
var $row=$(this).parent().find('td');
var clickeedID=$row.eq(0).text();
alert(clickeedID);
}
test.css :
td {border: 1px #DDD solid; padding: 5px; cursor: pointer;}
.selected {
background-color: brown;
color: #FFF;
}
这是我的问题的一小部分JSFIDDLE
我需要将所选行的第一个单元格值发送到javascript函数。但是当用户选择一行并单击“确定”按钮时,我应该将值发送给该函数。怎么做?
答案 0 :(得分:36)
$("#table tr").click(function(){
$(this).addClass('selected').siblings().removeClass('selected');
var value=$(this).find('td:first').html();
alert(value);
});
$('.ok').on('click', function(e){
alert($("#table tr.selected td:first").html());
});
演示:
答案 1 :(得分:5)
答案 2 :(得分:3)
检查http://jsfiddle.net/Z22NU/12/
function fnselect(){
alert($("tr.selected td:first" ).html());
}
答案 3 :(得分:1)
<html>
<header>
<style type="text/css">
td {border: 1px #DDD solid; padding: 5px; cursor: pointer;}
.selected {
background-color: brown;
color: #FFF;
}
</style>
</header>
<body>
<table id="table">
<tr>
<td>1 Ferrari F138</td>
<td>1 000€</td>
<td>1 200€</td>
</tr>
<tr>
<td>2 Ferrari F138</td>
<td>1 000€</td>
<td>1 200€</td>
</tr>
<tr>
<td>3 Ferrari F138</td>
<td>1 000€</td>
<td>1 200€</td>
</tr>
</table>
<input type="button" id="tst" value="OK" onclick="fnselect()" />
<script>
var table = document.getElementById('table');
var selected = table.getElementsByClassName('selected');
table.onclick = highlight;
function highlight(e) {
if (selected[0]) selected[0].className = '';
e.target.parentNode.className = 'selected';
}
function fnselect(){
var element = document.querySelectorAll('.selected');
if(element[0]!== undefined){ //it must be selected
alert(element[0].children[0].firstChild.data);
}
}
</script>
</body>
</html>
在这个列表(NodeList)中只有一个属于“selected”类的成员,它是元素[0]。 children 是 3 个
答案 4 :(得分:0)
下面的代码将给出选定的行,您可以解析它的值并发送到AJAX调用。
$(".selected").click(function () {
var row = $(this).parent().parent().parent().html();
});
答案 5 :(得分:0)
在我的情况下,缺少 $(document).ready(function()。尝试此操作。
$(document).ready(function(){
("#table tr").click(function(){
$(this).addClass('selected').siblings().removeClass('selected');
var value=$(this).find('td:first').html();
alert(value);
});
$('.ok').on('click', function(e){
alert($("#table tr.selected td:first").html());
});
});