Javascript 如何设置一个函数使其';它被调用而不是内联
我得到了以下代码: 接受 大概是这样的:Javascript 如何设置一个函数使其';它被调用而不是内联,javascript,jquery,Javascript,Jquery,我得到了以下代码: 接受 大概是这样的: $("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 = idTm
$("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'])
另外,这个函数似乎有点复杂。我需要的是,当用户单击一个输入字段时,我将获得该字段的值以及同一行中另一个字段的值,然后发送到Ajax
有人能想出一种方法来简化这个吗?我不明白你说的“简化”是什么意思。它做了它必须做的事情。如果你是说让代码更短,下面是你的代码版本。它更难阅读,但做了同样的工作。你也可以看到如何使用命名函数而不是匿名函数
$("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);
}
});
}
根据问题的第二部分,投票以过于本地化的方式结束;这似乎不太可能“普遍适用于互联网的全球受众”。谢谢。我以前试图定义函数的方法不正确。现在,在您帮助我解决问题后,它可以正常工作。不客气。如果有人回答了您的问题,请不要忘记单击他们的答案旁边的复选标记。