【问题标题】:Clear value input fields and update with new value when select value from dropdown list从下拉列表中选择值时清除值输入字段并使用新值更新
【发布时间】:2019-12-06 09:48:47
【问题描述】:

我有一个包含五个输入字段的 div。最初输入字段没有值,将被隐藏。在下拉值更改时,我想更新输入字段的值。

第一张照片

第二张图片

对于第一张图片,我在第一学期有五个课程代码,所以所有输入字段都有值。但是对于第二张图片,我在第 11 学期有两个课程代码,因此只有前两个输入字段的值被更改,但其余输入字段具有以前的值。我想在这些字段上显示空字符串。在我的 jQuery 中,我尝试了 remove 和 empty 函数,但它删除了我的 div 输入字段并且不显示任何值。

jQuery

    $(document).ready(function () {
    var courses = $('#viewCourseCodeField');
    courses.hide();
    $("#SemesterList").change(function () {
        //courses.empty();

        var semesterName = $("#SemesterList option:selected").text();
        $.getJSON('/Student/GetCourseOfSemester', {semester: semesterName}, function (response) {
            $.each(response, function (key, value) {
                if (value == null) {
                    courses.empty();
                }
                else {
                    for(var i = 0; i < response.length; i++)
                    {
                        var inputField = "c0".concat((i+1).toString());
                        $('#'+inputField).val(response[i]["courseCode"]);
                    }
                    courses.show();
                }
            });
        })
    });
});

如何清除我的输入字段并仅填​​写下拉值更改时的更新值?

【问题讨论】:

  • 在下拉的onchange函数开始,你可以尝试将每个输入值设置为空 $('#SemesterList').change(function() {$('#id-inputField').val ('')});
  • 你好@Harvey,我为所有输入添加了一个类。现在我的 onchange 函数看起来像这样 $("#SemesterList").change(function () {$('.cinput').val('')} { // all tast });但是我在 .val("")} 之后得到一个红色的波浪线,因为它错过了 ) 括号。你能提供我在我的情况下具体应该写什么吗?

标签: javascript jquery asp.net-core cascadingdropdown


【解决方案1】:

您在之前选择的学期节目中的过去价值观。仅将类“cinput”赋予输入的父 div,而不是赋予所有输入字段相同的类。要清除所有输入字段,您可以尝试在 ajax 调用之前将其值设置为空;

  $(document).ready(function () {
        var courses = $('#viewCourseCodeField');
        courses.hide();
        $("#SemesterList").change(function () {
            //courses.empty();

           $('.cinput input[type="text"]').val(''); // Add this

            var semesterName = $("#SemesterList option:selected").text();
            $.getJSON('/Student/GetCourseOfSemester', {semester: semesterName}, function (response) {
                $.each(response, function (key, value) {
                    if (value == null) {
                        courses.empty();
                    }
                    else {
                        for(var i = 0; i < response.length; i++)
                        {
                            var inputField = "c0".concat((i+1).toString());
                            $('#'+inputField).val(response[i]["courseCode"]);
                        }
                        courses.show();
                    }
                });
            })
        });
    });

【讨论】:

  • 感谢@Harvey 的合作。在输入字段中添加一个类似乎不起作用,因此根据它们的 id 清除值。现在它工作得很好。
  • 酷,向输入的 div 添加一个类也应该可以。如果它对您有用,您可以接受答案吗? :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-08-21
  • 2012-12-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多