2

我想将从 web 服务返回的值存储到 jquery 中的隐藏字段

  $.ajax({
        type: "POST",
        url: "/AutoComplete.asmx/CompareGroupName",
        data: { Text: text },
        dataType: "json",
        onfocusout: function (element) {
            $(element).valid();
            $(element).filter('.valid').qtip('destroy');
        },
        success: function (data) {
            response($.map(data.d, function (item) {
                return {
                    value: item.igroup_id

                }
                $('#hdnGroupNameCheck').val = item.igroup_id;

            }))
        },


        complete: function (xhr) {
            if (xhr.status == 200) {
                alert("Group Name already exist");


            }
            else
                alert("Group Name does not exist");
        }

    });

我得到 Group 已经存在并且 Group 不存在并且 web 服务运行良好。但是如何通过asp.net中的代码获取隐藏字段中的id并显示相同的消息。

谢谢

4

2 回答 2

1

好吧,恐怕我不明白你想要什么。但是,从您的代码中,我看到以下错误: $('#hdnGroupNameCheck').val = item.igroup_id;

jQuery 对象方法 val() 应该以下列方式使用: $('#hdnGroupNameCheck').val(item.igroup_id);

添加更多想法。:-)

我看到您将返回类型设置为 JSON。如果服务器端代码未返回正确的 JSON 格式数据,则不会执行成功回调。

另外,当我输入评论时,请确保之前不会出现任何 Javascript 错误

$('#hdnGroupNameCheck').val(item.igroup_id);

如果你使用谷歌 Chrome 浏览器,你可以使用它的优秀开发者工具来检测更多的东西。:D

于 2012-05-08T09:45:29.683 回答
0
  function ontextchange() {
    if ($('#<%=txtGroupName.ClientID %>').val() != "") {
        $('#<%=lblGroupName.ClientID %>').text($('#<%=txtGroupName.ClientID %>').val());
    }
    var text = $('#<%=txtGroupName.ClientID %>').val();

    $.ajax({
        type: "POST",
        url: "AutoComplete.asmx/CompareGroupName",
        data: "{'Text':" + JSON.stringify(text) + "}",
        // async: false,
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: comparegroup,
        error: function (msg) {
            return false;
        }

    });
    return false;

}

function comparegroup(msg) {
    populatecontrol(msg.d, $("#<%=lblGroupNameCheck.ClientID %>"));

}

function populatecontrol(list, control) {
    var id = 0;
    var GroupName = document.getElementById('<%=hdnGroupNameCheck.ClientID %>');
    if (list.length > 0) {
        $.each(list, function (key, value) {
            var obj = JSON.parse(value);
            document.getElementById('<%=hdnGroupNameCheck.ClientID %>').value = obj.Second;
            $('#lblGroupNameEdit').show();
            control.html("Group already exist.Click here to");
            $('#<%= lblGroupNameEdit.ClientID%>').text("edit or");
            $('#<%= lblGroupNameInquire.ClientID%>').text("inquire");

        });
        return false;
    }
    else
        $('#<%= lblGroupNameCheck.ClientID%>').text("");
        $('#<%= lblGroupNameEdit.ClientID%>').text("");
        $('#<%= lblGroupNameInquire.ClientID%>').text("");
    }
于 2012-07-09T06:27:10.273 回答