我刚刚发现了jQuery的强大功能。只是一个简单的问题。
什么是替代onclick =“DeleteSomething('服务器端加载的ID号')”?
有没有办法以某种方式将自定义信息(例如ID)传递给jquery onclick?或者我必须坚持老式的方式?
非常感谢!
亚当
答案 0 :(得分:6)
我通常使用rel =“”来获取一些额外的数据,我可能需要附加到按钮或其他什么。
例如
<input class="btnDelete" rel="34" value="Delete" />
然后在jquery
$('.btnDelete').click(function() {
DeleteMethod($(this).attr("rel"));
});
答案 1 :(得分:1)
$(document).ready(function () {
$('#selector').click(function() {
//here goes your onclick code
});
);
请发布一些标记以获得更多帮助。
另外,您应该阅读图书馆main page中链接的 jQuery入门资源。
答案 2 :(得分:1)
在jQuery中你更有可能做类似的事情:
$('a').click(function(){
# code here
});
“a”是您想要用来找到正确链接的选择器。
回应你的评论:
正如其他人提到的,最好的方法可能是在链接的一个属性中提供动态数据:
<a rel="{id}" >
$('a').click(function(){
deleteFunction($(this).attr('rel'));
});
答案 3 :(得分:1)
如果您在rel参数中粘贴要删除的对象的ID,则可以这样做:
<script type="text/javascript>
$('a.deleter').click(function(){
if($(this).attr("rel") != ""){
DeleteSomething($(this).attr("rel"));
}
});
</script>
<a href="javascript:void(0)" rel="54" class="deleter">Delete Widget</a>
答案 4 :(得分:0)
而不是:
<button onclick="DeleteSomething('THE ID NUMBER LOADED IN BY SERVER SIDE')">
这样做:
<button id="thing">
<script>
$(function() {
$("#thing").click(function() {
DeleteSomething('THE ID NUMBER LOADED IN BY SERVER SIDE');
}
}
<script>
答案 5 :(得分:0)
如果你这样做会更清洁:
<tag class="someclass" prop1="id from serverside" />
$('.someclass').click(function(){
var prop1 = $(this).attr('prop1');
//DeleteSomething(prop1)
});
答案 6 :(得分:0)
使用服务器将{ID}替换为实际ID。
HTML:
<form id="deleter">
<input type="hidden" name="id" value="{ID}" \>
<input type="submit" value="Delete" rel="{ID}" \>
</form>
jQuery的:
$('form#deleter input[type="submit"]').click(function() {
var id = $(this).attr('rel');
DeleteSomething(id);
return false;
}
不要忘记为没有启用Javascript的人实施删除服务器端!