使用DropDownList中的多个值填充文本框

时间:2016-12-01 20:50:21

标签: javascript jquery asp.net-mvc razor

我有:@Html.EnumDropDownListFor(model => model.City, htmlAttributes: new { @class = "form-control", @id = "dropdownID" })

我想从此Textbox填充DropDownList,其中多个值以逗号分隔。我尝试了两件事,但现在我有点卡住了。

1

    $('#dropdownID').on('change', function () {
        $("#textbox").val($(this).find("option:selected").text());
})

这是向文本框发送一个文本值,但是如何使用多个值创建它?

2

var mytextbox = document.getElementById('textbox');
var mydropdown = document.getElementById('dropdownID');

mydropdown.onchange = function () {
    mytextbox.value = mytextbox.value + this.value;
}

第二个是给我Textbox我选择的每个值而不是文本,我怎样才能让它显示文本而不是值?

我对jquery不太好。 非常感谢你!

2 个答案:

答案 0 :(得分:1)

$('#dropdownID').on('change', function () {
    var textBox = $('#textbox');
    var previousTextBoxValue = textBox.val();
    var optionText = $(this).find("option:selected").text();
    textBox.val( (previousTextBoxValue ? previousTextBoxValue + ', ' : previousTextBoxValue) + optionText);
});

答案 1 :(得分:0)

你已经接近第一个解决方案了。您只需要将.val()函数传递给它的现有值,如下所示:

    $("#textbox").val($('#textbox').val() + ' ' +
        $(this).find("option:selected").text());