我怎样才能通过一个表中的行ID与一个按钮
问题描述:
我有一个表我想添加一个按钮到每一行并编辑表格中的行。我需要将LineNumber传入我的getjson请求。我怎样才能做到这一点?这是我的桌子和我的getjson。 (编辑)我只注意到我要求LineNumber,但我真正想要的是按钮的id'+ value.linenumber +'。我怎样才能通过一个表中的行ID与一个按钮
//table goes though a loop.
table_obj.append($('<tr><td>'+value.SLN+'</td><td >'+value.Type+'</td><td >
'+value.StopNumber+'</td><td>'+value.LoName+'</td><td >'+value.ReferenceNo+'</td>
<td class="hide" >'+value.TypeId+'</td><td class="hide" >'+value.LocationId+'</td>
<td class="hide" >'+value.lineNumber+'</td><td><button id='+value.lineNumber+'
onclick=edit()>Edit</button></td></tr>'));
//getjson
<script> function edit()
$.getJSON("editstops.php",{ LineNumber:$('#LineNumber').val() },stophandler)
var stophandler = function(data){
$("#SLNS").val(data[0].value.LoadNumber);
$("#Type").val(data[0].value.Type);
$("#StopNumber").val(data[0].value.StopNumber);
$("#LoName").val(data[0].value.LoName);
$("#ReferenceNo").val(data[0].value.ReferenceNo);
$("#TypeId").val(data[0].value.TypeId);
$("#LocationId").val(data[0].value.LocationId);
$("#LineNumber").val(data[0].value.Linenumber);
};
</script>
答
在您的按钮标签中,您已经将指定的行号指定为ID属性。你可以很容易地把它传递到edit()
函数作为参数:
<button id='+value.lineNumber+' onclick="edit('+value.lineNumber+')">Edit</button></td></tr>
那么你的编辑功能可以接受这种说法并使用它:
function edit(lineNumber) {
$.getJSON("editstops.php",{ LineNumber: lineNumber }, stophandler);
}
请注意,如果您的按钮内form
标记,您可能还需要在致电edit()
后添加return false;
以防止提交表单和刷新页面。
简单的工作例如:http://jsbin.com/okesom/2/edit
另外,您可以完全离开过你的按钮标签onclick
事件。在您的循环完成并表而建,附加一个事件像这样所有的按钮:
$("button").click(function() {
var lineNumber = $(this).attr('id');
$.getJSON("editstops.php",{ LineNumber: lineNumber }, stophandler);
});
这里是第二个选项的一个简单的例子:http://jsbin.com/ibokon/2/edit
我与第一opption去,因为我几乎在那里,但当我点击按钮整个页面重新加载,并消除了请求。 – 2013-05-03 14:39:54
@CraigKuyper我用示例链接更新了选项1。它将行号传递给edit()函数,页面不刷新。还有其他一些事情正在发生。也许你可以设置一个你自己的jsbin例子来显示问题?我很乐意帮助您解决问题。 – jszobody 2013-05-03 15:47:51
哦!您的按钮周围可能有一个