2011-05-24 43 views
1

我使用一些免費的腳本來突出顯示單元格時的單元格。它可以單擊多個,所以我可以一次選擇多個單元格。當我點擊單元格時,我想檢索它們的值並在下面顯示輸入,以便在完成高亮顯示時發佈它。我的腳本看起來像下面:在jQuery中獲取所選單元格的值

function displayVals(item) { 
     var multipleValues = $(this).html() || []; 
     $("p.info").html("<b>Multiple:</b> " + multipleValues.join(", ")); 
     alert($(item).html()); 
     $("#clicked").val(multipleValues.join(", ")); 
    } 

    $(document).ready(
     function(){ 
      $('#table3').highlight('td'); 
      $('#table3').highlight('td', 'highlight-selected', 'mousedown'); 
      $('#table3 td').click(function() { 
       displayVals(this); 
      }); 

     } 
    ); 

在這個例子中displayVals功能我用alert來表現我現在選擇哪個小區。這是顯示沒有問題,但沒有粘貼在名爲clicked的輸入,並沒有出現在p.info

如果有人能幫助我,我將不勝感激。

+0

哦。並且在'displayVars'中,當我在mullipleValues中使用'item'時,定義了警報窗口崩潰並且沒有任何事情發生。 – Kamil 2011-05-24 08:07:24

+0

你已經使用了警報中的項目,崩潰是什麼意思? – jantimon 2011-05-24 08:09:14

+0

帶有'item'的警報顯示在屏幕上,但在multipleValues中用'item'和'item'提醒並停止顯示警報預警。 – Kamil 2011-05-24 08:21:33

回答

0

在點擊事件中this僅指向點擊元素而不是所有tds。

$('#table3 td').click(function() { 
    displayVals(this); 
}); 

.html()返回一個字符串,所以你不需要連接和使用this代替item

function displayVals(item) { 
    var multipleValues = $(item).html() || ''; 
    $("p.info").html("<b>Multiple:</b> " + multipleValues); 
    alert($(item).html()); 
    $("#clicked").val(multipleValues); 
} 

列出所有多個值

function displayVals(item) { 
    var multipleValues = []; 
    $(item) 
    // Search the parrent table 
    .closest('table') 
    // Get any highlight selected td 
    .find('td.highlight-selected') 
    // Iterate and add the html to multipleValues 
    .each(function(){ multipleValues.push($(this).html()) }) 


    $("p.info").html("<b>Multiple:</b> " + multipleValues.join(", ")); 
    alert(multipleValues.join(", ")); 
    $("#clicked").val(multipleValues.join(", ")); 

} 
+0

正如我下面所說。當我在'multipleValues'中打'$(item)'時,什麼都沒有發生。看看演示http://kam1ll0.vot.pl/hi.php – Kamil 2011-05-24 08:17:09

+0

嘗試我的displayVals方法 – jantimon 2011-05-24 08:27:04

+0

是的,我們很接近。但我想要多個值,現在輸入值會抹去新值。我想用逗號分隔 – Kamil 2011-05-24 08:39:00

相關問題