2014-01-24 77 views
0

我有以下的Javascript和要訪問已經有一個id如何從HTML中的表格數據訪問Javascript變量?

<script type="text/javascript"> 
function getSelected() { 
    if(window.getSelection) { return window.getSelection(); } 
    else if(document.getSelection) { return document.getSelection(); } 
    else { 
      var selection = document.selection && document.selection.createRange(); 
      if(selection.text) { return selection.text; } 
      return false; 
    } 
    return false; 
} 

$(document).ready(function() { 
    $('#content-area').mouseup(function() { 
      var selection = getSelected(); 
      if(selection && (selection = new String(selection).replace(/^\s+|\s+$/g,''))) { 
      alert('Sending the following text to the server via AJAX: ' + selection); 
        $.ajax({ 
          type: 'post', 
          url: 'calculate.php', 
          data: 'selection=' + encodeURI(selection) 
        }); 
      } 
    }); 
}); 
</script> 

我想訪問的地方我的HTML的TD的「選擇」變量「選擇」變量是HTML的TD如下,

<td> 
<input type="button" id="optionone" name="optionone" onclick="sendrequest(selection , <?php echo $r ?>);" value="Positive"/> 
</td> 

我嘗試使用ID(內容區),但沒有幫助。請幫忙。

+0

你想獲得id =「optionone」輸入的值屬性? – Stu

+0

您沒有在您的問題中添加PHP標籤。 – KunJ

+1

Stu:不,我想訪問td中變量「selection」的值,並將其傳遞給'sendrequest'JS函數。幫助 – kmario23

回答

0

你可以達到這樣的表項目。

var ptr = $("#tableid").find("#optionone"); // or .find("tr:first"); 
    ptr.find("#optionone).remove(); // or ("tr:first").remove(); 

指此評論:

斯圖:不,我要訪問的變量「選擇」,在TD的值,並將其傳遞給「sendRequest將」 JS功能。幫助 - @ mario23

0

好,所以你需要在你的onClick選擇變量。我有這樣一個建議:

DOM中的:

<input type="hidden" id="hidden_optionone" value='<?php echo $r ?>'>

你爲什麼不寫的輸入作爲點擊:

$("#optionone").click(function() { 
    var php_val = $("#hidden_optionone").val(); 
    //$("body").data("get_selection") equals selection 
    sendrequest($("body").data("get_selection") , php_val); 
}); 

最後

function getSelected() { 
    if(window.getSelection) { return window.getSelection(); } 
    else if(document.getSelection) { return document.getSelection(); } 
    else { 
     var selection = document.selection && document.selection.createRange(); 
     // THIS IS WHAT IS NEEDED 
     $("body").data("get_selection",selection); 
     if(selection.text) { return selection.text; } 
     return false; 
    } 
    return false; 

}

+0

我已經嘗試了你的soln,但它不工作。你可以建議一個簡單的soln/fix? – kmario23

+0

@ mario23 ...我在$(「body」)行的兩個地方編輯了我的答案 – Makrand