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 将ajax成功回调设置为输入值_Javascript_Jquery_Ajax - Fatal编程技术网

Javascript 将ajax成功回调设置为输入值

Javascript 将ajax成功回调设置为输入值,javascript,jquery,ajax,Javascript,Jquery,Ajax,我想将AJAX请求中成功回调返回的数据设置为输入值。这是行不通的。我觉得这是因为我在(.on)事件函数中使用了AJAX请求。我需要在AJAX请求($this)中使用事件函数来查找我要更新的输入 $(function () { $("table").on('change', '.master', function () { $.ajax({ type: "POST", async: false, url: '<?php echo site_url('w

我想将AJAX请求中成功回调返回的数据设置为输入值。这是行不通的。我觉得这是因为我在(.on)事件函数中使用了AJAX请求。我需要在AJAX请求($this)中使用事件函数来查找我要更新的输入

$(function () {
        $("table").on('change', '.master', function () {
            $.ajax({ type: "POST", async: false, url: '<?php echo site_url('wordsuggestion'); ?>/hoi/nederlands/frans', success: function(data) { 
                $(this).parents('tr').find(".slave").val(data);
            }});
        });
    });
$(函数(){
$(“表”)。关于('change','.master',函数(){
$.ajax({type:“POST”,async:false,url:'/hoi/nederlands/frans',success:function(data){
$(this).parents('tr').find('slave').val(数据);
}});
});
});
这是我用的表格

<tr>
                <td>
                    <div class="form-group"><input type="text" class="master" name="or[0]"></div>
                </td>
                <td>&nbsp;</td>
                <td>
                    <div class="form-group"><input type="text" class="slave" name="tr[0]"></div>
                </td>
            </tr>


对我来说,这为什么不起作用是个谜。我认为在AJAX调用中,$(this)操作符不能再使用了,这会导致输入无法更新。

并没有提及您在AJAX回调中的想法。该回调的上下文不在已完成的原始
change
事件处理程序的上下文中

您可以在
$.ajax()
调用中设置上下文,如下所示:

$.ajax({
    context: this,
    type: "POST",
    // etc...
甚至只需将该值设置为一个变量并为回调捕获该变量:

var element = this;
$.ajax({
    success: function (data) {
        $(element).parents('tr')....
    },
    // etc...

这个
并没有提到您在AJAX回调中的想法。该回调的上下文不在已完成的原始
change
事件处理程序的上下文中

您可以在
$.ajax()
调用中设置上下文,如下所示:

$.ajax({
    context: this,
    type: "POST",
    // etc...
甚至只需将该值设置为一个变量并为回调捕获该变量:

var element = this;
$.ajax({
    success: function (data) {
        $(element).parents('tr')....
    },
    // etc...
试一试

试一试


这实际上是以什么方式失败的?是否发出了AJAX请求?服务器的响应是什么?有什么错误吗?@David AJAX请求现在肯定已经发出了。服务器用该页面上的内容进行响应,在本例中为7个字母的单词。没有错误。这实际上是以什么方式失败的?是否发出了AJAX请求?服务器的响应是什么?有什么错误吗?@David AJAX请求现在肯定已经发出了。服务器用该页面上的内容进行响应,在本例中为7个字母的单词。没有错误。