【发布时间】:2012-03-11 11:53:49
【问题描述】:
我想实现一个包含 2 个列表的页面,它允许用户在两个列表之间拖放项目。这可以通过使用 jQuery UI 库来实现:
html:
<!--list A-->
<div id='list_a'>
<ul class='sortable'></ul>
</div>
<!--list B-->
<div id='list_b'>
<ul class='sortable'>
<li>Item 1</li>
<li>Item 2</li>
<li>Item 3</li>
</ul>
</div>
js:
$( "ul.sortable" ).sortable({
connectWith: "ul",
dropOnEmpty: true
});
$( ".sortable" ).disableSelection();
问题是,当我使用 jQuery ajax 生成list B 时,拖放不再起作用。我怀疑jQuery无法选择ul .sortable,因为当我查看HTML源时,我只能看到<div id='list_b'></div>。
我的 ajax 代码:
$('#field_a h3 a').click(function() {
var form_data = {
required_data:$(this).text().trim(),
ajax: 1
};
$.ajax({
url: 'get_list_b',
dataType: 'html',
type:'POST',
success: function(msg){
$('#list_b').html(msg);
}
});
});
我正在使用 CodeIgniter。有什么想法吗?
【问题讨论】:
-
我相信这个其他 SO 问题基本相同:stackoverflow.com/questions/1672182/jquery-sortable-live
-
请注意,“查看源代码”永远不会显示由 JS 或 JQ 创建的标签。它只显示从 Web 服务器接收到的 HTML。
-
@JamesAylett:谢谢。
-
@summerbulb:难怪“查看源代码”看不到代码,谢谢。
标签: php jquery jquery-ui codeigniter