我有选项标签,它可以与单个过滤器一起使用,并且我想使其成为多选。...以下是我的代码:-
$('#version_no').change(function () {
var version_no = $('#version_no').val();
if (version_no != null) {
showAll(version_no);
} else {
showAll();
}
});
showAll()
是在过滤后返回数据的函数。如果未选择过滤器,则会显示所有内容。
以下是查看代码:-
<select multiple="multiple" style="margin-top:15px;" name="version_no" id="version_no">
<option value="">Select Version No</option>
<?php if (count($get_version_no)): ?>
<?php foreach ($get_version_no as $version): ?>
<option value=<?php echo $version->version_no; ?>><?php echo $version->version_no; ?></option>
<?php endforeach; ?>
<?php else: ?>
<?php endif; ?>
$get_version_no
正在生成下拉值,例如1,1.1,1.2等。...
因此,我想使其多选,任何帮助将不胜感激。我正在使用codeigniter 3。
答案 0 :(得分:0)
只需重构Java代码,以便version_no
是一个数组而不是单个值。您可以使用':selected'选择器来获取所选选项。
(请参见https://api.jquery.com/selected-selector/)
您还需要重构showAll()
函数,以便它解析数组而不是单个值。我还将让showAll()
函数执行空检查,而不是执行if...then/else
。
答案 1 :(得分:0)
您需要为多个选择创建version_no
数组名称
<select multiple="multiple" style="margin-top:15px;" name="version_no[]" id="version_no">
在jquery中
var version_no= [];
$.each($("#version_no option:selected"), function(){
version_no.push($(this).val());
});
var version = version_no.join(", ");
version
是所有用逗号分隔的选定值的字符串