首页 > 解决方案 > 无法使用 jquery 将类添加到 .done() 内的元素

问题描述

html

一旦在里面输入数据,它将调用autosave2函数通过.php保存它。如果新值没有不同,则什么也不做。

<tr>
<td><input type="text" class="autosave2" name="price1" data-oval="500" value="700" /></td>
<td><input type="text" class="autosave2" name="price2" data-oval="300" value="500" /></td>
<td><input type="text" class="autosave2" name="price3" data-oval="600" value="800" /></td>
</tr>

jQuery

输入的值已发送到 .php 文件,updated如果没有错误则返回结果。在这里,我检查响应是否为 = updated,然后is-valid将其添加到<input>自身。问题是它没有按预期更新输入。尽管外面的代码相同,但.done工作正常。(如果我取消注释下面的其他行)。console.log(data)工作得很好。

        $(".autosave2").on('blur',function(){
            var i_name=$(this).attr('name');
            var i_val=$(this).val();
            var i_oval=$(this).data('oval');
            $.post( "settings_price_limit.php",{name:i_name,val:i_val,oval:i_oval,mode:'default'}, function( data ) {
              console.log(data);    
                  if(data=="update"){
                      $(this).closest('td').find('input.autosave2').addClass('is-valid');
                  }
            });
            //$(this).closest('td').find('input.autosave2').addClass('is-valid');
        });

settings_price_limit.php

echo "updated";

标签: phphtmljquery

解决方案


推荐阅读