【问题标题】:JavaScript - change value of two elements from a listJavaScript - 从列表中更改两个元素的值
【发布时间】:2019-04-13 19:32:46
【问题描述】:

我想改变一个列表中两个元素的值,这很难解释,所以我会这样说。

我有一个看起来像这样的列表

Adam Tyson
Emil Johnsson
Fredrick Connor
Lars Hamilton

我想把它放在一个 for 循环中,像这样。

for(var i = 0; i < 1000; i++) {
  document.getelementbyid('firstname').innerHTML = param[0];  
  document.getelementbyid('lastname').innerHTML = param[1]; 
  submit();
}

但我不知道如何使名字相等,例如 param[0]。而且,一旦它提交了它就会跳到第 2 行,然后是第 3 行,等等,并继续做同样的事情。我基本上想要做的是使用循环提交一个包含所有这些名称的表单。

有什么想法吗?

【问题讨论】:

  • 阅读有关 AJAX 的信息,或者看起来这就是您想要做的。也许您想使用类似jQuery.post() 的东西。
  • getelementbyid 必须是 getElementById。此外,到目前为止,for-loop 的意义为零,因为您没有使用iinside,这意味着您不断重复完全相同的代码。
  • OP,wrt AJAX:您不一定需要先将数据添加到 HTML 表单,然后再提交表单。如果服务器允许,您可以只提交数组/对象的字符串化版本。 JSON.stringify(arr).
  • 请发布和更新stackoverflow.com/help/mcve 将您的HTML、“列表”的来源、您尝试过的任何(其他)代码。还请包括您期望的确切结果。
  • 我同意其他人的观点,即您所描述的通常是通过 Ajax 通过 POST 完成的 - 向下滚动以查看示例:api.jquery.com/jquery.ajax 或此处查看简写版本 api.jquery.com/jquery.post

标签: javascript jquery arrays list


【解决方案1】:

实际上你有一个名字列表并且你想显示所有来存储列表的名字然后你需要发布它们。我认为您首先必须为每行创建名字姓氏 如下所示

var parent = document.getElementById("parentDiv"); // this is my assumption please change as per your need
for(var i = 0; i < 1000; i++) {
  var firstNameFinal = firstName +i;
  var firstNameInput = document.createElement("input");
  firstNameInput.setAttribute('type', 'text');
  firstNameInput.setAttribute('id', 'firstNameFinal');
  parent.appendChild(firstNameInput);
  var lastnameFinal =  lastname + i;
  var lastNameInput = document.createElement("input");
  lastNameInput.setAttribute('type', 'text');
  lastNameInput.setAttribute('id', 'lastnameFinal');
  parent.appendChild(lastNameInput);
  document.getelementbyid('firstNameFinal').innerHTML = param[0];  
  document.getelementbyid('lastnameFinal').innerHTML = param[1]; 
}
  submit();

请回复..

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-09-08
    • 2020-03-30
    • 1970-01-01
    • 2018-05-27
    • 1970-01-01
    • 2012-03-20
    • 2013-09-27
    相关资源
    最近更新 更多