选项值:选择一个,输出多个

时间:2016-12-15 00:39:28

标签: javascript jquery

问题我有这段代码:

<FORM NAME=formname>
<SELECT NAME=name1 onchange=results(1)>
<Option VALUE="" selected>Select one:
<Option VALUE="OPTION A">OPTION A
<Option VALUE="OPTION B">OPTION B
<Option VALUE="OPTION C">OPTION C</SELECT>
<SELECT NAME=name2 onchange=results(1)>
<Option VALUE="" selected>Select one:
<Option VALUE="OPTION D">OPTION D
<Option VALUE="OPTION E">OPTION E
<Option VALUE="OPTION F">OPTION F</SELECT>

如果我添加足够多的变量,我可以为各种主题构建句子。

结果显示在此处:

<TEXTAREA NAME=textarea COLS=110 ROWS=7>[Selected description shows up here]</TEXTAREA></FORM>

使用此javascript:

<SCRIPT LANGUAGE=JAVASCRIPT TYPE="TEXT/JAVASCRIPT">
function results(s_option)
{ with (document.forms["formname"])
{ if (name1.value != 'blank')
{ textarea.value = name1.value + name2.value ;} 
} 
} 
</SCRIPT>

我想添加多个选项值,第一个textarea显示所有第一个值,第二个框显示所有第二个值。

我迷失的地方:

<Option VALUE="OPTION A">OPTION A

有没有办法做类似

的事情
<Option VALUE="OPTION A1 | OPTION A2 | OPTION A3 | OPTION A4">OPTION A

有四个textareas,每个都在每个textarea中显示自己的OPTION A版本(A1,A2,A3,A4),所有这些都只选择“OPTION A”?

1 个答案:

答案 0 :(得分:1)

您可以使用split()方法分割值。

$("select").change(function() {
    var option1 = $("select[name=name1]").val().split(" | ");
    var option2 = $("select[name=name1]").val().split(" | ");
    var limit = Math.max(option1.length, option2.length);
    for (var i = 0; i < limit; i++) {
        var val1 = i < option1.length ? option1[i] : '';
        var val2 = i < option2.length ? option2[i] : '';
        $("textarea").eq(i).val(val1 + val2);
    }
});