我有一个无法通过研究/ Google解决的问题。我已成功将以下输入框附加到我的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();
在更改值的部分之后进行了尝试,并且变量测试没有差异,就像在第二个循环之前所做的一样,因此$('#' + id).val(y);
(或答案中的其他建议)没有任何效果。
穆萨在评论中回答了这个问题。“如果id包含特殊字符,则必须对其进行转义。” 我的(真实)ID包含一个空格。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句