我使用AJAx动态生成了数据库中的葡萄酒类型列表,PHP就是这个函数
function wineTypeHandler(data){
var Type = data.Type;
var countType = data.countType;
for(var i = 0; i < countType; i++){
$("#selectType").append(
$("<input />").attr({
type: 'checkbox',
name: 'Type',
class: 'wineTypeCheck',
value: Type[i]
}), Type[i] + "<br />"
);
}
}
Run Code Online (Sandbox Code Playgroud)
正如你所看到的,我已经将结果"附加"到一个id为selectType的div,这整个工作正常,我唯一的问题是当我想根据从这个列表中检查过的内容更新另一个列表时,它没有响应任何东西!当我尝试这一个和许多其他方式
$(document).ready(function(){
$(':checkbox').click(function(){
alert('started');
// other code
return true;
});
Run Code Online (Sandbox Code Playgroud)
});
它没有提醒任何事情!任何人都可以帮我解决这个问题.
先感谢您.
.click()将自身附加到创建DOM时存在的元素.您的元素是动态生成的,因此.click()实际上并未应用于它们.
您应该使用.live()目标动态生成的元素,因为它将自身附加到最初加载DOM之后创建的任何元素.我还建议使用change事件而不是click:
$(':checkbox').live('change', function(){
// No need to return true;
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1037 次 |
| 最近记录: |