How to bind values to html <select> control using JavaScript function

问题描述 投票:0回答:1

我有 asp.net mvc Kendo 网格。网格行有下拉列表,当用户单击网格单元格时,我可以从下面的代码中获取下拉列表,但在该下拉列表中无法绑定值

var input = $("<select name='MinAcceptableName' id='MinAcceptableId'></select > ")
e.container.append(input);
input.focus();

我有一个 JavaScript 函数,它应该将值绑定到上面的控件代码执行或

<select>
点击

 var url = '@Url.Action("GetCodesList", "LookupCode")'
    var ddl = $('#MinAcceptableId');
    $('#MinAcceptableId').focus(function () {
        console.log("this is code value - " + code);

        $.post(url, {codeType: code, selectedValue: value }, function (response) {
            ddl.empty(); //clear if already data there
            ddl.append($('<option></option>').text("--Select--").val(""));
            alert("added default option to MinAcceptableName select");
            $.each(response, function (index, item) {
                ddl.append($('<option></option>').text(item.Description).val(item.CodeId));

            });
        });

        $('#MinAcceptableId').blur();
    })

从上面的代码我无法将值绑定到下拉列表(下拉列表为空)。 JavaScript 函数代码似乎并没有全部执行。我该如何解决这个问题?

javascript .net asp.net-mvc kendo-ui
1个回答
0
投票

这就是我修复它的方法

<script id="myscript" type="text/javascript">

function onEdit(e)
{   
      var input = $("<select  name='MName' data-value-update='MText' data-bind='text: MaText' id='MId'></select > ")
      jQuery(document).ready(function () {

            var lookUpCodeUrl = '@Url.Action("GetCList", "LookupCode")';
            $.ajax({
                type: "POST",
                url: lookUpCodeUrl,
            })
                .success(function (responseData) {

                    $("#MId").empty();
                    $.each(responseData, function (i, v) {
                        $("#MId").append($('<option/>', {
                            value: v.CodeLovId,
                            text: v.Description
                        }));
                    })
                })

        }(jQuery));

        e.container.append(input);
        temp.remove();
        kendo.bind(e.container, e.model);
    }
}
</script>
© www.soinside.com 2019 - 2024. All rights reserved.