2014-01-24 36 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