Frage

kann ich Datatable während Form Initialisierung erzeugen. (JSF). Dann möchte ich schreiben Sie Javascript für Daten, die von Rich: Datatable Werte

<f:view>
  <html>
    <head>
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

      <script type="text/javascript">
            function getTableValue()
            {
                //Here i want to write code for get one by one value  
                //from rich:datatable content
            }
      </script>

    </head>
    <body>
      <h:form id="tableForm" binding="#{DataTable.initForm}">

        <rich:dataTable id="salesTable" value="#{DataTable.saleList}" var="data">
          <f:facet name="header">
            <rich:columnGroup>
              <rich:column>
                <h:outputText value="Sales" />
              </rich:column>
            </rich:columnGroup>
          </f:facet>
          <rich:column>
            <h:outputText value="#{data.salesPercentage}" />
          </rich:column>
        </rich:dataTable>

        <input id="tableButton" type="button" value="getDataTableValue" onclick="getTableValue()" />

      </h:form>
    </body>
  </html>
</f:view>

Helfen Sie mir. Vielen Dank für Ihre Bemühungen.

War es hilfreich?

Lösung

Zuerst sollten Sie die Tabelle aus dem Dokument (Rechtsklick Seite, Sie View Source sehen, erzeugt id selbst).

var table = document.getElementById('tableForm:salesTable');

Dann nehmen Sie die Zeilen als Array aus dem Tabellenkörper.

var rows = table.getElementsByTagName("tbody")[0].getElementsByTagName("tr");

dann die Schleife über Zeilen und erhält die Zellen als Array aus der Reihe.

for (var i = 0; i < rows.length; i++) {
    var cells = rows[i].getElementsByTagName("td");
}

Dann Schleife über die Zellen und den Inhalt bekommen.

for (var j = 0; j < cells.length; j++) {
    var cell = .cells[j];
    alert(cell.innerHTML);
}

Siehe auch:

Andere Tipps

function processDelete()
{
   var table = document.getElementById('AluminumPricingTab:forecastYearList');     var rows = table.getElementsByTagName("tbody")[0].getElementsByTagName("tr"); var yearAdd = "";
    for (var i = 0; i < rows.length; i++) {
        //alert("rows:" + i);       var cells = rows[i].getElementsByTagName("td");     var checked = document.getElementById("AluminumPricingTab:forecastYearList:"+i+":deleteSelectedRowCHK").checked;
        //alert("checked:" +checked); 
        if (checked)
        {              
             if(yearAdd != "")
                {
                yearAdd = yearAdd + ',' ;
                }
            else
                {
                  yearAdd;
                }
            var year = document.getElementById("AluminumPricingTab:forecastYearList:"+i+":year").value; 
            yearAdd = yearAdd + year;

            //alert("yearAdd:" +yearAdd);  
        }       
    }
     if (yearAdd != "")
         {
            var result = confirm(MSG_FORECASTS_DELETE_SELECTED +'\n\n'+ yearAdd);
            if (result == true)
            {   
                //alert("Row deleted"); 
                var bt1 = document.getElementById('AluminumPricingTab:deleteSelectedForecast');
                bt1.onclick='document.body.style.cursor = "wait";return true;';
                bt1.click();
            }   
            else 
            {
                return false;   
            }
         }
     else
         {
           alert("Select Row to deleted"); 
         }
  }
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top