2013-10-01 3 views
0

У меня есть следующий код в jsfiddle, http://jsfiddle.net/y3x4q/как предварительно заполнить значения динамической таблицы HTML из текстового файла?

JavaScript:

  function buildTable(val) 
     { 
    var myTable =document.getElementById("contentTable"); 
var j=val; 
var r1=val; 
var rows = []; 
var cells = []; 

while (myTable.hasChildNodes()) { 
myTable.removeChild(myTable.lastChild); 
} 


for(var i = 0; i < 1; i++) 
{ 
rows[i] = myTable.insertRow(i); 
if(i%3==2)rows[i].addClass("every3rdrow"); 
cells[i] = []; 

for(var x = 0; x < j ; x++) 
{ 
    cells[i][x] =document.createElement((x==0)?"th":"td"); 
    cells[i][x].innerHTML = (x==0)?"<input id=t onchange=ty() name=t[] size=3>":"<input id=t1 onchange=ty1() name=t1[] size=3>"; 
    rows[rows.length - 1].appendChild(cells[i][x]); 
} 
} 

    } 
    buildTable(); 

HTML:

<tr> 
    <th>Number of Models:<title="Number of Models"></th> 

    <td><select id="numbermodels" name="numbermodels" onmouseover="buildTable(this.value)" onchange="buildTable(this.value);buildTable4(this.value);"> 

    <option value="1">1</option > 
    <option selected="selected" value="2">2</option > 
     < option value="3">3</option > 
    <option value="4">4</option > 
    <option value="5">5</option > 
    <option value="6">6</option > 
    </select></td> 
    </tr><br> 

    <tr> 
    <th>Number of heads per model:</th> 
     <td> 
    <table id="contentTable" border="1" name="contentTable"> 
    <!-- Fill table programmatically --> 
    </table></td> 
     </tr> 

как я могу заполнить значения таблицы под нагрузкой от внешнего текста файл ? Я попытался использовать теги php внутри javascript, но я не мог получить его таким образом, можно ли это достичь с помощью getElementsByTagName? как это сделать?

+1

К сожалению, 'getElementsByTagName' не получает текстовые файлы, он только получает .... дождитесь его .... DOM-элементы по имени тега! – adeneo

+0

http://jsfiddle.net/y3x4q/1/ – adeneo

ответ

0

Лучше всего использовать AJAX, если вы пытаетесь получить контент из внешнего файла при загрузке. Поэтому используйте AJAX для получения данных и, возможно, JQuery для анализа данных в вашей таблице. Вы не сможете использовать файл CSS. Я бы почти догадался, что использование файла HTML будет проще всего. Есть ли причина, по которой вы используете внешний текстовый файл вместо массива?

+0

Мне нужно прочитать значения из внешнего текстового файла – Sachin

+0

@Sachin, убедитесь, что вы используете простой текстовый файл. Это было бы эскизным с использованием .css-файла, поскольку он должен содержать таблицу стилей, а не исходные значения текста. Я считаю, что есть способ разобрать .CSV с JQ. – user2687646

+0

Я знаю, что это немного поздно, но почему бы не использовать файл .JSON? Если вы еще не поняли это? – user2687646

Смежные вопросы