【问题标题】:Changing the input value after ajax response with jQuery not working well在使用 jQuery 的 ajax 响应后更改输入值效果不佳
【发布时间】:2021-07-19 11:33:42
【问题描述】:

在我的 WordPress 网站上,我想在 AJAX 响应后更改搜索输入值。 在我右键单击检查元素的响应之后,输入的值发生了变化,但在浏览器中该值是相同的。我不明白为什么,我将我的代码粘贴在下面。

 jQuery(document).ready(function($) {





const form = $('#posts-filter')

form.submit(function (e){
    e.preventDefault();

    var input=$('#post-search-input').val();
    console.log(input);

    if(input.match(/^[0-9]+$/) != null)
    {
     

      /*AJAX*/

      var endpoint="<?php echo admin_url('admin-ajax.php'); ?>";
                                        var formdata=new FormData;                                      
formdata.append('action','enquiry2');
formdata.append('player_id',input);

$.ajax(endpoint,{
    type:'POST',
    data:formdata,
    processData:false,
    contentType:false,
    
    success:function(res)
    
    {

          console.log(res);
        
            $('#post-search-input').attr('value',res); 

    

    
    /*   setTimeout(() => {
        e.currentTarget.submit();   
       }, 3000);  */

    }
})

    }
    if(input.match(/^[0-9]+$/) == null)
    {
        e.currentTarget.submit();
    }
});

});

IMAGE

【问题讨论】:

    标签: jquery ajax wordpress


    【解决方案1】:

    行:

     $('#post-search-input').attr('value',res); 
    

    必须是:

    $('#post-search-input').val(res); 
    

    如果你想改变表单元素的值,你应该使用 $('.xxx').val('myValue')

    【讨论】:

    • 谢谢!正确
    猜你喜欢
    • 2014-06-18
    • 1970-01-01
    • 2017-07-11
    • 2016-08-29
    • 2021-05-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-04
    相关资源
    最近更新 更多