【问题标题】:How to get multiselect checkbox value in jquery如何在jquery中获取多选复选框值
【发布时间】:2018-09-17 06:43:34
【问题描述】:
我有一个带有复选框(jquery includeSelectAllOption)的多选下拉菜单,我只想要最后一个选择的值而不是所有选中的复选框值。
<select class="form-control" id="change_city" multiple="multiple">
<?php foreach ($city_array as $key => $value) {
# code...
echo "<option value=".$value['city_id'].">".$value['city_name']."</option>";
} ?>
</select>
<script>
$(function() {
$('#change_city').multiselect({
includeSelectAllOption: true
});
});
</script>
【问题讨论】:
标签:
javascript
php
jquery
html
multi-select
【解决方案1】:
那么,只需将其设置为额外选项并删除 includeSelectAllOption。当用户点击“全选”时,取消选择所有其他选项并保持“全选”。
var handler = function(){
let val = $(this).val();
if(val === null) return;
val.forEach(function(value){
if(value == "all"){
$("#change_city option:selected").prop("selected", false);
$('#change_city option[value="all"]').prop('selected', true);
}
});
}
$("#change_city").on("change", handler);
#change_city {
height: 150px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select class="form-control" id="change_city" multiple="multiple">
<option value="1">City 1</option>";
<option value="2">City 2</option>";
<option value="3">City 3</option>";
<option value="4">City 4</option>";
<option value="all">Select All</option>";
</select>
【解决方案2】:
请看下面的代码,希望对你有所帮助
<label>Country:</label>
<select class="country" multiple="multiple" size="5">
<option>United States</option>
<option>India</option>
<option>United Kingdom</option>
<option>Brazil</option>
<option>Germany</option>
</select>
<button type="button">Get Values</button>
<script type="text/javascript">
$(document).ready(function() {
$("button").click(function(){
var countries = [];
$.each($(".country option:selected"), function(){
countries.push($(this).val());
});
//countries.join(", ")
alert("You have selected the country - " + countries.slice(-1)[0]);
});
});
</script >