在Jquery中选择和更改附加的HTML输入标记

时间:2014-08-14 20:40:30

标签: javascript jquery html jquery-selectors append

我有一个问题,我无法通过研究/谷歌解决。我成功地将以下输入框附加到我的HTML / JQuery项目中。它们都在网页上显示为预期。

for (i = 0; i < max; i++) {
  var id = myUniqueIDs[i];
  $("#targetedDiv").append(myUniqueIDs[i] + ': <input id = "' + id + '" type = "text" class = "findOutputs" readonly/>');
}

稍后在我的代码中,经过一些用户交互后,我尝试将一些信息写入输入框。它们不能由用户写入(它们是只读的)。我知道我可以通过Jquery写入一个只读输入框,因为它在我的项目的其他地方完成。但它只是不起作用。

for (i = 0; i < max; i++) {
  var y = getY(); // the returned variable is confirmed correct via debugging
  var id = myUniqueIDs[i]; // again, confirmed correct
  $('#' + id).val(y); // does not work
}

当我将var test = $("#targetedDiv").html();放入我的代码中时,我可以看到该测试

uniqueID1: <input id="uniqueID1" class="findOutputs" readonly="" type="text">
uniqueID2: <input id="uniqueID2" class="findOutputs" readonly="" type="text">
uniqueID3: <input id="uniqueID3" class="findOutputs" readonly="" type="text">

所以我真的不知道问题是什么。 $('#' + id).val(y);有违法行为吗?

你能否在Jquery中选择附加的标签?有人能指出我在这里缺少的东西吗?

问题肯定在于选择,因为我尝试var test = $("#targetedDiv").html();在我更改值的部分之后,变量测试没有差异,就像在第二次循环之前完成时那样,{{1} (或答案中的其他建议)没有效果。

1 个答案:

答案 0 :(得分:1)

穆萨在评论中回答了这个问题。 “如果ids包含特殊字符,你就必须逃脱它们。” 我的(真实)ID包含一个空格。