【问题标题】:Change text in dynamically created textbox更改动态创建的文本框中的文本
【发布时间】:2013-09-27 14:18:22
【问题描述】:

我有一堆文本框,每次点击都会动态创建一个。 它们都具有相同的名称“discount[]”、相同的 id“discount”和相同的类“tinput”。

有没有我可以用 javascript 或 jquery 来更改所有这些文本框中的文本?

我还有一堆动态创建的文本框。 id 和 name 是唯一的,但类保持不变。 如果它完成了工作,我可以更改类名。

非常感谢任何帮助。

问候,

【问题讨论】:

  • 不确定,但this 可能有用。 ID 应该始终不同。
  • 展示你是如何创建这些元素的,因为重复的id 会使你的 HTML 无效;不必要地,当很容易改变id时。

标签: javascript php jquery html dom


【解决方案1】:

您绝对不应该在每个文档中多次使用 id。如果您需要 <label>,您可能需要考虑将输入放入 <label>。

不过,您正在以正确的方式使用 class 属性。你可以这样做:

$('.tinput').val('New value for all .tinputs!');

如果您不能将输入放在标签内,您可以使用它。我不久前为某人制作了这个演示。这可能会有所帮助。它会增加一个像“id-1”这样的id。

http://jsbin.com/APegOMo/3/edit?html,js,output

【讨论】:

  • 很多可访问性专家不喜欢表单元素是标签元素的后代,因此需要一个唯一的 Id。编辑:我实际上创建了一个实用程序来解决这个问题https://github.com/Jshthornton/lid.js
  • 有趣...有任何链接可以备份吗?我试图跟上,但从未遇到过这种说法。我听说过只在视觉输入中使用标签的抱怨。
  • 没问题!很高兴我能帮上忙。
  • @BillCriswell 没有链接,但我与几个无障碍机构合作,他们对标签中的输入进行了粗略的了解。尽管 W3C 说它是有效的,但一些屏幕阅读器就是不遵守。
  • 如果您遇到过他们对此感到粗略的原因,我很想听听。
【解决方案2】:

相同的id“折扣”

请不要那样做! “id”是标识一个dom元素。这在我的灵魂中很痛。 如果每个 id 都是唯一的,您可以通过 $("#myid").val("my new val") 访问它们。只是一个例子。

问候, - 托博

【讨论】:

  • “伤害了我的灵魂”——很高兴我不是唯一一个。当我在网上看到这个时,我感到畏缩,通常只是慢慢地退后而不是试图提供帮助!
【解决方案3】:

这是一个简单的示例,它采用具有特定类名的所有元素并更改 .html,但不是 100% 确定我理解您所追求的。如果您需要对每个 div 文本做一些特定的事情,您可以通过 id(也可能是类)遍历它们并更改每个 div 单独的 .html。

如果您可以分享您的代码的精简示例或详细说明,我很乐意提供帮助。祝你好运。

$(".changeDivs").html("adfasdf");

jsfiddle example >>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-12-28
    • 1970-01-01
    • 2020-11-28
    • 1970-01-01
    • 2013-07-08
    • 2013-08-23
    • 1970-01-01
    相关资源
    最近更新 更多