这是我用来获取表行号
的函数$('#myTable').find('tr').click( function(){
var rownum=$(this).index()
alert('You clicked row '+ (rownum) );
});
变量rownum
我想用它进行进一步处理。但我无法获得它之外的价值。
如何获得它?
我试过suggested here。
<script>
find();
alert('You clicked row '+ (window.rownum) );
</script>
但这对我没有用。
答案 0 :(得分:2)
有几种方法可以做到这一点。
您目前所做的只需稍加修改即可:
var rownum;
$('#myTable').find('tr').click( function(){
rownum=$(this).index()
alert('You clicked row '+ (rownum) );
});
Hovever,首选方法是将变量传递到需要的地方:
function alertRowNumber(rowNumber) {
alert('You clicked row '+ (rowNumber) );
}
$('#myTable').find('tr').click( function(){
alertRowNumber($(this).index)
});
如果您想发布一个上下文代码段,可能会为您的特定方案提供更好的解决方案。
答案 1 :(得分:2)
<script langguage='text/javascript'>
var rownum = "";
$('#myTable').find('tr').click( function(){
rownum=$(this).index();
alert('You clicked row '+ (rownum) );
});
</script>
不要使用var
,只需在外面定义rownum
,这样它就是全局的,您可以随时随地访问。您也无法直接致电find()
。
答案 2 :(得分:1)
您可以设置rownum
全局和从函数外部访问:
var rownum;
$('#myTable').find('tr').click( function(){
rownum = $(this).index();
alert('You clicked row '+ (rownum) );
});
或者将rownum
作为参数传递给其他函数
$('#myTable').find('tr').click( function(){
var rownum = $(this).index();
myOtherFunction(rownum);
});
function myOtherFunction(num)(){
alert(num)
}
答案 3 :(得分:1)
直接在rownum
代码
script
<script type=text/javascript>
var rownum;
function A(){
rownum=5;
}
function B(){
alert(rownum);//will throw 5
}
答案 4 :(得分:0)
您可以使用命名空间技术。
SomeNameSpace={} // Creating name spacing object
SameNameSpace.rownum='';
$('#myTable').find('tr').click( function(){
SameNameSpace.rownum=$(this).index()
alert('You clicked row '+ (SameNameSpace.rownum) );
});
因此,只需调用SameNameSpace.rownum
使用全局变量可能会在以后产生问题,因为其他开发人员可能会使用相同的名称创建变量&amp;在全球空间将是一场冲突
答案 5 :(得分:0)
使功能成为任何你肯定会得到价值......
$('#myTable').find('tr').click( function(){
rownum = $(this).index();
// alert('You clicked row '+ (rownum) );
get(rownum);
});
function get(rownum)
{
alert(rownum);
}
答案 6 :(得分:0)
这就是我使用html5会话存储
的方式//function to set line index on clicking a table row - note there were several tables so i selected the first using .eq();
$("table").eq(0).on('click','tr',function ()
{
var lineNum = $(this).closest("tr").index();
sessionStorage.setItem('lineNumber',lineNum);
});
//the following retrieves the line index from session storage and converts it to a number from a string (all session storage values are stored as strings)
var line_Number=parseFloat(sessionStorage.getItem('lineNumber'));