Я пытаюсь заставить эту таблицу отображать параметры для каждой из строк таблицы, но я не могу этого понять:
Думаю, я бы установил это во второй части for loop, но я новичок в html и не могу двигаться дальше.
<script>
//PREVENT FORMS FROM SUBMITTING / PREVENT DEFAULT BEHAVIOUR
function preventFormSubmit() {
var forms = document.querySelectorAll('form');
for (var i = 0; i < forms.length; i++) {
forms[i].addEventListener('submit', function(event) {
event.preventDefault();
});
}
}
window.addEventListener("load", preventFormSubmit, true);
//HANDLE FORM SUBMISSION
function handleFormSubmit(formObject) {
google.script.run.withSuccessHandler(createTable).processForm(formObject);
//document.getElementById("search-form").reset();
}
//CREATE THE DATA TABLE
function createTable(dataArray) {
if (dataArray && dataArray !== undefined && dataArray.length != 0){
var result = "<table class='table table-sm table-striped' id='dtable' style='font-size:0.8em'>"+
"<thead style='white-space: nowrap'>"+
"<tr>"+ //Change table headings to match witht he Google Sheet
"<th scope='col'>Client</th>"+
"<th scope='col'>Name</th>"+
"<th scope='col'>Date</th>"+
"<th scope='col'>Approval</th>"+
"</tr>"+
"</thead>";
for(var i=0; i<dataArray.length; i++) {
result += "<tr>";
for(var j=0; j<dataArray[i].length; j++){
result += "<td>"+dataArray[i][j]+"</td>";
}
result += "</tr>";
}
result += "</table>";
var div = document.getElementById('search-results');
div.innerHTML = result;
}else{
var div = document.getElementById('search-results');
//div.empty()
div.innerHTML = "Data not found!";
}
}
</script>
Конечно, @Tanaike! Извини за это. Вместо того, чтобы отображать его только в заголовке, каждая строка должна предоставлять пользователям раскрывающийся список параметров. Благодарю вас!
Спасибо за ответ. Из вашего ответа я предложил модифицированный сценарий в качестве ответа. Не могли бы вы подтвердить это? Если я неправильно понял вашу цель, прошу прощения.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Я считаю, что ваша цель заключается в следующем.
В таком случае, как насчет следующей модификации?
Пожалуйста, измените функцию createTable следующим образом.
function createTable(dataArray) {
if (dataArray && dataArray !== undefined && dataArray.length != 0) {
var option = "<select name='D1'>" +
"<option value='volvo'>Volvo</option>" +
"<option value='saab'>Saab</option>" +
"<option value='mercedes'>Mercedes</option>" +
"<option value='audi'>Audi</option>" +
"</select>";
var result = "<table class='table table-sm table-striped' id='dtable' style='font-size:0.8em'>" +
"<thead style='white-space: nowrap'>" +
"<tr>" + //Change table headings to match witht he Google Sheet
"<th scope='col'>Client</th>" +
"<th scope='col'>Name</th>" +
"<th scope='col'>Date</th>" +
"<th scope='col'>Approval</th>" +
"<td>" +
"</td>" +
"</tr>" +
"</thead>";
for (var i = 0; i < dataArray.length; i++) {
result += "<tr>";
for (var j = 0; j < dataArray[i].length; j++) {
result += "<td>" + dataArray[i][j] + "</td>";
}
result += "<td>" + option + "</td>";
result += "</tr>";
}
result += "</table>";
var div = document.getElementById('search-results');
div.innerHTML = result;
} else {
var div = document.getElementById('search-results');
//div.empty()
div.innerHTML = "Data not found!";
}
}
option из вашего предыдущего вопроса. Ссылка@santosOnit Спасибо за ответ. Я рад, что ваша проблема была решена. И тебе спасибо.
Насчет
Here's the current result:, можно вас спросить о вашем ожидаемом результате?