0

好的,所以我很难说出这个问题,所以我会尽可能地描述这个问题。我正在将这段代码转换为通过单击许多表格行之一来打开覆盖的代码,该代码通过单击图像来显示首选项覆盖。

代码涉及这两个文件(但是,它们不是项目中唯一的文件。)


索引.html

    <div class="details">
        <h3 align="center">Preferences</h3>



    </div>
</div>
        <script>
             /* Overlay  */
             $(document).ready(function() {

             $("tr[rel]").overlay(); 

            });
        </script>

        <!-- <script src="js/jquery-1.3.2.min.js" type="text/javascript"></script> -->
        <script src="js/jquery.qtip-1.0.0-rc3.min.js" type="text/javascript"></script>
        <script src="js/jquery.qtip.debug.js" type="text/javascript"></script>
        <script>
             /* TOOL TIPS */
        /*   $(document).ready(function() {
                    $(#'milehf').qtip({
                       content: '100%',
                       style: { 
                          width: 200,
                          padding: 5,
                          background: '#A2D959',
                          color: 'black',
                          textAlign: 'center',
                          border: {
                             width: 7,
                             radius: 5,
                             color: '#A2D959'
                          },
                          tip: 'bottomLeft',
                          name: 'dark' // Inherit the rest of the attributes from the preset dark style
                       }
                    });
             });*/
        </script>

表.js

$.ajax({
    async:false,
    dataType: "json",
    url: "http://localhost:8080/JSP/connection2.jsp",
    success: function(data){
        cbspData = data;
        console.log(cbspData[1].Satellite);
        }
    });

function table4()
{
    console.log(cbspData[1].Satellite);
    //alert(data2[1].id);
    var thisDat = cbspData;

    if (!document.getElementsByTagName) return;
    tabBody=document.getElementById("mytable")
    //tabBody=document.getElementsByTagName("TBODY").item(0);

    //var Parent = tabBody.getElementsByTagName("TBODY");
    while(tabBody.hasChildNodes())
    {
       tabBody.removeChild(tabBody.firstChild);
    } 

  $.each(cbspData, function(i,dat){ 
    row=document.createElement("TR");
    row.setAttribute("number", dat.id);
    row.id = "triggers";
    row.rel="#mies1";
    console.log(row.id);
    console.log(row.rel);
    //console.log(dat.Satellite);


    document.createAttribute();

    cell0 = document.createElement("TD");
    cell0.innerHTML = dat.Mission;
    //onMouseOver='alert(\"hello\"); document.getElementById(\"div" + i + "\").style.visibility = \"visible\";'
    cell1 = document.createElement("TD");
    cell1.innerHTML = dat.Satellite;
    //$("#test-area table tbody tr:eq(" + i +") td:eq(0)").html(
    //  dat.id
    //);
    cell2 = document.createElement("TD");
    cell2.innerHTML = dat.TerminalID;
   // $("#test-area table tbody tr:eq(" + i +") td:eq(1)").html(
   //   dat.title
    //);
    cell3 = document.createElement("TD");
    cell3.innerHTML = dat.Modem;
    //$("#test-area table tbody tr:eq(" + i +") td:eq(2)").html(
    //  dat.subtitle
    //);
    cell4 = document.createElement("TD");
    cell4.innerHTML = dat.Teleport;
    //$("#test-area table tbody tr:eq(" + i +") td:eq(3)").html(
    //  dat.ranges
    //);
    cell5 = document.createElement("TD");
    cell5.innerHTML = dat.ModemLock;

    //textnode5=document.createTextNode(dat.measures);
    //cell5.appendChild(textnode5);

    row.appendChild(cell0);
    row.appendChild(cell1);
    row.appendChild(cell2);
    row.appendChild(cell3);
    row.appendChild(cell4);
    row.appendChild(cell5);
    tabBody.appendChild(row);
  });

}

Table.js 根据 JSP 生成的信息生成表格,即使将 rel 属性成功设置为“#mies1”,单击也不起作用。但是,如果我在 index.html 中设置由纯 html 制成的表格的 rel,它就可以正常工作。我认为这与页面完成其加载周期并在表格完全生成之前运行覆盖代码有关。这和它有什么关系吗?如何使生成的 TR 可点击?

4

1 回答 1

0

$("tr[rel]").overlay(); 在函数结束时调用table4()

于 2012-06-06T05:12:40.073 回答