2014-01-10 81 views
1

JavaScript函数:生成动态表使用的onclick功能单选按钮

<script> 
function pop(){ 
// can table get generated here?? 
} 
</script> 

<Table> 
    <tr> 
      <TD> 
       <input type="radio" name="test" onclick= pop()> 
      </TD> 
      <TD> 
       ${Data.getGenId().get(i)} 
      </TD> 
      <TD> 
      ${Data.getValue1().get(i)} 
    </tr> 
</Table> 

以上是我这是越来越动态生成的表。我在该表中有一个单选按钮,只要我点击无线电按钮我需要在上面的表格下方创建一个新表格,其中GenId值在里面...

这是可以使用javascript中的onclick函数来创建的吗?或者其他方式?

我是一个新手,并与JavaScript和JSP相处任何帮助将是非常有帮助的。

+0

的onclick事件的函数,你是否有显示表被克隆? –

+0

否,上表中的第一列是单选按钮,第二列是GenID。所以当我点击单选按钮时,它应该选择GenID并将其显示在上面表格下方的新表格中。 – AKIWEB

回答

1

此帖已被编辑根据评论中的讨论。

作为一个新手,你最好的选择就是像JQuery这样的库。使用JQuery,它运行在一个名为Sizzle选择器引擎的东西上,您可以轻松地在页面的任何位置插入HTML。 JQuery的开销相对较低,由Google托管,且易于使用。 JQuery比这个更适合,但这对于初学者来说非常有用。

首先,在HTML的头部下面,之前的任何脚本:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script> 

其次,为了方便给你的桌子和无线电场ID属性。这是为了以后,所以我们可以在JQuery中轻松使用它们。在可能的情况下,我们还会尝试使用Divs或Spans以及我们需要使用的任何值,以避免JQuery出现任何问题,因为在实践中,它有时不会与表一起玩。我不确定.getValue1()行在做什么,所以我会忽略它。

<Table id="firstTable"> 
    <tr> 
      <TD> 
       <input type="radio" name="test" id="radioButton"> 
      </TD> 
      <TD> 
       <span id="importantColumnData">${Data.getGenId().get(i)}</span> 
      </TD> 
      <TD> 
      ${Data.getValue1().get(i)} 
    </tr> 
</Table> 

最后,需要调用的代码!在您了解有关JQuery的更多信息之前,只需将所有内容都放在Document Ready块中即可。我还会从上面插入一个包含“重要列数据”的列。它应该看起来像这样:我们使用的ID中,我们添加到HTML元素之前,使用“#”号此jQuery代码

$(document).ready(function() { 
    $('#radioButton').click(function() { 
     var tableText = '<table id="newTable">'; 
      tableText += '<tr>'; 
       tableText += '<td>'; 
        tableText += $('#importantColumnData').html(); 
       tableText += '</td>'; 
      tableText += '</tr>'; 
     tableText += '</table>'; 
     $('#firstTable').after(tableText); 
    }); 
}); 

通知。这个符号用于ID,而句点(。)用于类,就像在CSS中一样。虽然有一种方法可以将字符串分成多行来避免这种麻烦,但作为Javascript新手,我建议先习惯基本语法以避免人为错误。如果您还有其他问题,请告诉我。

+0

谢谢Lavalamp先生,它非常有帮助。所以,一旦点击了单选按钮ID,#newTable就会在#firstTable之后创建。新表中的列是否也可以从任何数据源动态填充?我怎么能从#firstTable的列值GenID显示在我的#newTable中。 – AKIWEB

+0

你可以喂JQuery的。()方法之后的任何字符串,所以我会填充一个变量。这样,您可以将字符串连接在一起,然后将该变量放在.after()方法中的括号之间。 Javascript的连接运算符是加号(+)。您可以使用.html()方法获取列的HTML。尽管纸张上没有表格和Javascript/JQuery问题,但我发现在实践中经常会出现这种情况,如果可能的话,您应该尝试将跨度/ div纳入表格中以避免任何问题。我将用更新的信息更新答案。 –

+1

(如果我有帮助,请确保upvote /接受我的回答!我现在正在使用Stack Overflow来检查与Java有关的显然愚蠢的问题,除非我帮助人们,否则我不能再提出任何问题。) –

0
var html; 
      var table = document.getElementById(tableID); 
      var rowCount = table.rows.length; 
      var row = table.insertRow(rowCount); 
      var cell1 = row.insertCell(0); 

      html = '<input type="radio" name="test" onclick= pop()>'; 
      cell1.innerHTML = html; 
      html = '${Data.getGenId().get(i)}'; 
      var cell2 = row.insertCell(1); 
      cell2.innerHTML = html; 
      html ='${Data.getValue1().get(i)}>'</td>'; 
0

通话单选按钮

function myFunction() 
{ 
    var table = document.getElementById("myTable"); 
    var row = table.insertRow(0); 
    var cell1 = row.insertCell(0); 
    var cell2 = row.insertCell(1); 
    cell1.innerHTML = "NEW CELL1"; 
    cell2.innerHTML = "NEW CELL2"; 
} 
相关问题