Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何设置一个函数使其';它被调用而不是内联_Javascript_Jquery - Fatal编程技术网

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);
        }
    });
}

根据问题的第二部分,投票以过于本地化的方式结束;这似乎不太可能“普遍适用于互联网的全球受众”。谢谢。我以前试图定义函数的方法不正确。现在,在您帮助我解决问题后,它可以正常工作。不客气。如果有人回答了您的问题,请不要忘记单击他们的答案旁边的复选标记。