javascript - 使用 jquery 获取所选选项的值

标签 javascript jquery html

这是我的jquery

$(document).ready(function(){
    $("select.sysem").click(function(){
        var selectedvalue = $(".sysem option:selected").val();
        var hidden = document.getElementById('prens');
        hidden.value += selectedvalue;

    });
});

这是我的html代码

<form method='post'>
<select id='psy' class='sysem' name='psy' multiple='true' size='5'>
<option value='s1'>Sample1</option>
<option value='s2'>Sample2</option>
<option value='s3'>Sample3</option>
</select>
<textarea id='prens' name='prens' coloumn='20' row='5'></textarea>
</form>

现在我的问题是当我选择 Sample1 然后我按住 Ctrl button这样我就可以选择另一个选项,然后我选择 Sample2 textarea 中的结果是 s1s1s1应该是s1s2s3 .但是当我开始在底部选择时,结果还可以 s3s2s1 .

似乎当我开始从上到下选择时,结果变得多余,如果我从下到上开始选择,结果就可以了...

任何人都可以帮助我...我是编程新手..

最佳答案

.val() 和类似的方法应该返回关于元素的一些东西,比如值或属性值,将只返回匹配的第一个元素的数据。

所以当你这样做的时候

$(".sysem option:selected").val();

然后选择自上而下的选项 s1 总是会遇到第一个,为什么你得到 s1s1s1

如果您想要多选元素的所有值,只需对选择元素本身调用 .val()。它将返回所有选定值的数组

var values = $(".sysem").val();
jQuery('#prens').val( values.join(",") );

演示

$(document).ready(function(){
    $("select.sysem").change(function(){
        var values = $(".sysem").val();
        $('#prens').val(values.join(","));
    });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form method='post'>
<select id='psy' class='sysem' name='psy' multiple='true' size='5'>
<option value='s1'>Sample1</option>
<option value='s2'>Sample2</option>
<option value='s3'>Sample3</option>
</select>
<textarea id='prens' name='prens' coloumn='20' row='5'></textarea>
</form>

关于javascript - 使用 jquery 获取所选选项的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37494802/

相关文章:

javascript - React 上下文提供者和消费者

jquery - JQuery 和 SharePoint Web 服务的身份验证问题

javascript - 谷歌地图标记不显示

javascript - Google 如何检测搜索框中的输入以显示即时结果?

使用 ng-include 包含的 html 文件中的 JavaScript 不执行

jquery - jqGrid 4 与 jQuery 1.6.1

jquery - 文本隐藏在图像下方

php - PHP可以将html命令写入另一个文件吗?

html - 表 td 中内联元素与 block 元素的盒模型

javascript - 如何在网站上实现 "drag n drop"用户界面?