【问题标题】:Fetch value from json object and assign it to a dropdownlist从 json 对象中获取值并将其分配给下拉列表
【发布时间】:2018-05-18 22:21:36
【问题描述】:

我正在使用带有 C# 的 asp.net WebForm 页面,我有一个类 Place,它具有属性 int placeIdstring placeBaladi baladi

Baladi 类具有属性int baladiIdstring baladi

javascript 中,我正在调用一个返回对象 Place 的方法。 我有一个带有 TextBoxHiddenFieldDropDownList 的引导模式, 我可以将 TextBox 的值设置为 Place.place,将 HiddenField 的值设置为 Place.placeId

我需要的是根据Place.baladi.baladiId 设置 DropDownList 的选定索引。 当我在我的代码中尝试时,它会一直选择 DropDownList 中的第一项。

下面是我的代码:

public class Place
{
    public int placeId { get; set; }
    public string place { get; set; }
    public Baladi baladi { get; set; }
}
public class Baladi
{
    public int baladiId { get; set; }
    public string baladi { get; set; }
  }

<script>
        $(document).on("click", ".btnEdit", function () {
            var pid = $(this).data('id');
            $.ajax({
                type: "POST",
                url: "place.aspx/getPlace",
                data: '{placeId: "' + pid + '" }',
                contentType: "application/json; charset=utf-8",
                dataType: "json", // dataType is json format
                success: OnSuccess,
                error: OnErrorCall
            });

            function OnSuccess(response) {
                console.log(response.d);
                $("#txtEditPlace").val(response.d['place']);
                $("#ddlCity").val(response.d['baladi']['baladiId']);
                $("#hfPlaceId").val((response.d['placeId'] == null ? "" : response.d['placeId']));
            }
            function OnErrorCall(response) { console.log(response); }
        });
    </script>

任何帮助将不胜感激!

【问题讨论】:

    标签: javascript c# asp.net json twitter-bootstrap


    【解决方案1】:
    public int baladiId { get; set; }
    

    baladiId 被声明为 int。 val 函数仅在传递字符串 IE "2"2 不是等效值时才有效。您是否在设置下拉 val 之前尝试投射 baladidId?

    $("#ddlCity").val(String(response.d['baladi']['baladiId']))
    

    【讨论】:

    • 你能用你的html更新或者告诉我console.log(response.d['baladi']['baladiId'])输出什么。您可能没有获得正确的值,或者您的标记没有与您收到的值对应的选项。
    • 我收到了正确的值,但仍然无法分配它。
    • 您确定您的&lt;option value="something"&gt;Some Option&lt;/option&gt; 实际上具有与您的回复相同的正确值集吗?
    • 它与响应不同,它始终将其设置为列表中的第一项。请给我发私信好吗。
    • 很抱歉,除了猜测之外我无能为力,除非您可以向我们提供示例响应和下拉菜单的标记。
    猜你喜欢
    • 1970-01-01
    • 2019-04-20
    • 2021-07-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-02-25
    • 1970-01-01
    相关资源
    最近更新 更多