【问题标题】:Table's ID disappears after select tag inserted into form选择标签插入表单后,表的 ID 消失
【发布时间】:2012-08-09 01:15:36
【问题描述】:

我有一个网页发布到服务器,服务器返回一些 HTML:

<select id="selectmodel"><option value="0">Model</option></select>

这个 HTML 进入一个 TD 标记 (#td2),如下所示,看起来一切正常:

$.post("/cgi-bin/gcp.dll/modelx",{ manufacturerVal: window.manufacturerVal}, function(data) {$('#td2').html(data)});

但是,其他一些 ID 似乎消失了。当我在帖子之前尝试下面的行时,它工作正常。之后,它不再起作用:

$("#td5").click(function() {if (document.getElementById("table2")){alert("table2 exists")}else{alert("table2 does not exist")}});

TD 标签 (#td5) 位于 TD 标签 (#td2) 下方。当我在#table1(包含#td2 和#td5 的表)上尝试相同的测试时,它并没有消失。这是 HTML 的简化:

<table id="table1"><tr>
<td id="td2"> ... </td>   <-- dynamically created select tag goes here
<td id="td4"><table id="table2"><tr><td> ... </td></tr></td> 
<td id="td5"> ... </td>
</tr></table> 

有什么想法吗?

【问题讨论】:

  • “不再有效”是什么意思?警报没有发生,还是说 table2 不存在?您的 HTML 中没有 table2。你是说如果包含#td2 和#td5 的表的id 是table1,但如果名称是table2,则一切正常?
  • 在修改#td2 之前,警报给出了消息“table2 存在”。之后,它给出了消息“table2 不存在”。
  • table2 在我的问题末尾的 HTML 上的 td4 之后。我希望这会有所帮助。
  • 我已经设置好了,你可以自己试试。请尝试以下操作:emptyload.co.uk 点击 td5 会提示“table2 存在”刷新屏幕(F5)并选择汽车制造商然后点击 td5 会提示“table2 不存在”
  • emptyload.co.uk 服务器没有响应。也许把它放在小提琴里?

标签: jquery http-post jquery-events


【解决方案1】:

在您在上面的评论中关注link 之后:

ID 为table2table 位于ID 为td4td 内。您将change1() 函数绑定到select 元素的更改事件。该函数包括这一行:

$("#td4").html("&nbsp;");

使用不间断空格覆盖原始 html。所以第二个alert 是正确的。 table2 does not exist.

【讨论】:

  • 谢谢布莱恩。这对我来说一点也不明显。
猜你喜欢
  • 2013-07-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-22
相关资源
最近更新 更多