jQuery:$ .append和$ .html不起作用

时间:2013-07-23 13:00:52

标签: jquery

这应该是直截了当但我不知道出了什么问题。 当文本字段上有onblur事件时,我正在进行ajax调用。 Ajax请求进入后端并获得响应。然后我必须在文本字段旁边添加该响应。但它不起作用。
HTML

<input type="text" required="" id="123456" onblur="validateWithDB(this)"></input>

的Javascript

function validateWithDB(field)
            {
                $.ajax({
                    type:"POST",
                    url:"validate",
                    data: "fieldValue="+field.value,
                    success: function(response) {
                        alert(response);// this is correct
                        alert($(field).val());// this is correct
                        var result = '<span class="help-inline">'+response+'</span>'
                        alert(result) // this is correct
                        $(field).html(result);// Does not show up.
                    },
                    error:function (xhRequest, ErrorText, thrownError) {
                        alert('Error: '  + '  ' + xhRequest);
                    }
                });
            }

我尝试了$(field).html(result);$(field).append(result);,但没有运气。

3 个答案:

答案 0 :(得分:4)

如果您希望跨越NEXT到输入,请使用.after()

$(field).after(result);

答案 1 :(得分:3)

试试这个:

$(field).val(result);

如果你想在输入后附加span,请使用:

$(field).after(result)

答案 2 :(得分:2)

作为注释中的tymeJV asid,您不能将HTML放在输入标记内。

您可以使用$(field).val(result)将其设置为值,但这没有多大意义。

或者您可以在使用.after后插入它:

$(field).after(result);

这将在输入后直接显示结果中的HTML。