[英]Comma separated string into multiple arrays separated by comma using javascript
[英]Get Multiple Values with comma separated Using PHP and JavaScript
您好,我是PHP和JavaScript的新手。 我有一个代码下拉复选框。 我想尝试以逗号分隔的1,2,3
来获取选中选项的值
我的问题是,当我运行代码时,输出的末尾有一个逗号,例如1,2,3,
而我想要的输出是1,2,3
这是我的代码
HTML部分
<select id="agency" multiple="multiple">
<?php
if (is_array($rating_agencies) && !empty($rating_agencies)) {
foreach ($rating_agencies as $rating_agencie) {
echo '<option value="'.$rating_agencie->ID.'"';
echo '>';
echo $rating_agencie->name;
echo '</option>';
}
}
?>
</select>
<input type="button" id="btnSelected" value="Get Selected" />
Java脚本
<script type="text/javascript">
$(function () {
$('#agency').multiselect({
includeSelectAllOption: true
});
$('#btnSelected').click(function () {
var selected = $("#agency option:selected");
var message = "";
selected.each(function () {
message += $(this).val() + ",";
});
alert(message);
});
});
</script>
.get()
将返回basic-array
而不是array-of-objects
$(function() {
$('#agency').multiselect({
includeSelectAllOption: true
});
$('#btnSelected').click(function() {
var message = $("#agency option:selected").map(function() {
return this.value;
}).get();
alert(message.join(','));
});
});
使用slice删除最后一个逗号。
$('#btnSelected').click(function () {
var selected = $("#agency option:selected");
var message = "";
selected.each(function () {
message += $(this).val() + ",";
});
message = message.slice(0, -1);
alert(message);
});
这是您的问题解决方案,或者您可以使用@Rayon。
使用切片功能:
<script type="text/javascript">
$(function () {
$('#agency').multiselect({
includeSelectAllOption: true
});
$('#btnSelected').click(function () {
var selected = $("#agency option:selected");
var message = "";
selected.each(function () {
message += $(this).val() + ",";
});
message = message.slice(0, -1);
alert(message);
});
});
</script>
尝试获取值而不是选项:selected,它可能对您有用
var selected = $("#agency").val();
在php中使用rtrim方法
// $commaString = "1,2,3,";
$string = rtrim($commaString,",");
// output
// 1,2,3
用Java语言编写
var comma_string = "1,2,3,";
string = comma_string.replace(/,+$/,'');
您可以在任何一方使用它作为逻辑。
只需在“ if”语句之前使用$rating_agencies = array_filter($rating_agencies)
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.