我收到了以下代码:
接受
这样的事情:
$("input[id^='position_']").change(function() {
//get the value of the input field marked with "position_x"
var posX = $(this).val();
var idArr = $(this).attr("id");
var idTmp = idArr.split("_");
var id = idTmp[1];
var divX = $("div[id='"+id+"']").html();
make an ajax call passing the two parameters.
$.ajax({
type: "POST",
url : "your_url",
data: "pos_x="+posX+"&div_x="+divX,
success: function(response) {
alert(response);
}
});
});
我喜欢简单易懂。有没有办法可以将此代码拆分为函数,然后在此处调用函数:$("input[id^='position_']").change(function() {
此功能似乎有点复杂。我需要的是当用户单击输入字段时,我将获得该字段的值以及同一行中另一个字段的值,然后发送到Ajax。
任何人都可以看到我可以简化的方法吗?
答案 0 :(得分:1)
我不明白你的意思是“简化”。它做了它必须做的事情。如果您的意思是在下面缩短代码是您的代码版本。它更难阅读,但做同样的工作。你也可以看到如何使用命名函数而不是匿名函数。
$("input[id^='position_']").change(doTheMagic);
function doTheMagic() {
$.ajax({
type: "POST",
url : "your_url",
data: "pos_x=" + $(this).val() + "&div_x=" + $("div[id='" + $(this).attr("id").split("_")[1] + "']").html(),
success: function(response) {
alert(response);
}
});
}