2012-06-06 49 views
0

好的,所以對我來說這個問題很難,所以我會盡我所能地描述問題。我將這個帶有偏好覆蓋圖的代碼從點擊圖像轉換爲打開覆蓋圖的代碼,從點擊多行表格中的一行開始。如何在JavaScript生成的表上使用「rel」屬性?

代碼涉及到這兩個文件(它們不是在項目中唯一的文件,但是。)


的index.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> 

table.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屬性成功設置爲「#m ies1「點擊不起作用。但是,如果我在index.html中設置由純html製成的表格的rel,它就可以正常工作。我認爲這與完成加載週期的頁面以及在完全生成表之前運行覆蓋代碼有關。這可能與它有什麼關係?我怎樣才能讓生成的TR可點擊?

+0

在完成將表加載到DOM後,您是否嘗試調用'overlay()'函數? –

+0

我認爲我的問題是確定何時將表加載到DOM中,我真的不明白如何解決這個問題。 – user1410980

回答

相關問題