2016-02-13 21 views
4

這外面是我使用獲得的行編號使用JavaScript變量值的形式方法

$('#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> 

但它沒有爲我工作。

回答

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) 
} 
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) 
}); 

有可能是一個更好的針對您的特定場景的解決方案,如果您想發佈上下文片段。

2
<script langguage='text/javascript'> 
    var rownum = ""; 
    $('#myTable').find('tr').click(function(){ 
     rownum=$(this).index(); 
     alert('You clicked row '+ (rownum)); 
    }); 
</script> 

不要使用var,只是定義rownum外面所以這將是全球性的,你可以在任何地方訪問。您也不能直接撥打find()

1

聲明rownum正下方script標籤

<script type=text/javascript> 
var rownum; 

function A(){ 
    rownum=5; 
} 
function B(){ 
    alert(rownum);//will throw 5 
} 

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

使用全局變量可能會在以後的問題使用這個變量,其他開發者可以創建由同名&在全球空間的變量,這將是一個衝突

Refer Here for more information on namespace

0

製作功能的,你會得到價值肯定...

$('#myTable').find('tr').click(function(){ 
    rownum = $(this).index(); 
    // alert('You clicked row '+ (rownum)); 
    get(rownum); 
}); 

function get(rownum) 
{ 
    alert(rownum); 
} 
+0

感謝它,我怎麼沒@KittMedia –

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')); 
相關問題