Jquery将值从下拉列表添加到文本输入

时间:2011-06-03 03:52:22

标签: javascript jquery html forms

我在尝试完成此操作时遇到了麻烦。无论我从名为programs_dropdown的下拉列表中选择哪个选项,我都要添加到名为programs_input的文本字段中,并用逗号分隔选项值

e.g。 php, jquery, html

在下拉列表下方,我有一个add div。单击时,它应该将我从下拉列表中选择的内容添加到文本字段中。

$(document).ready(function(){
    $('#add').click(function() {
        var programs = $("#programs_dropdown").val(); //get value of selected option
        $('#programs_input').val(programs.join(',')); //add to text input
    }); 
});

HTML

<select name="programs_dropdown" id="programs_dropdown">
<option value="php">php</option>
<option value="jquery">jquery</option>
<option value="html" selected="selected">HTML</option>
</select>

<div id=add">Add</div>

<input type="text" name="programs_input" id="programs_input" />

我正在skill.join is not a function

2 个答案:

答案 0 :(得分:1)

如果要选择多个,则选择必须为多选项。将其更改为

<select name="programs_dropdown" id="programs_dropdown" multiple>

然后它就会开始工作。

Demo

编辑:

$(document).ready(function(){
    $('#add').click(function() {
        var program = $("#programs_dropdown").val(); //get value of selected option
        var programs = $('#programs_input').val().split(",");
        if (programs[0] == "") {
            programs.pop()
        }

        if ($.inArray(program, programs) == -1) {
            programs.push(program);
        }

        $('#programs_input').val(programs.join(',')); //add to text input
    });
});

DEMO

答案 1 :(得分:1)

我认为这就是您所需要的Demo