У меня есть ниже пример меню выбора с optgroup:
<!DOCTYPE html>
<html>
<head>
<title>Try jQuery Online</title>
<script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script>
$(document).ready(function() {
var opt = {
friendchat:[
{name:"somefriend1-1", number:"12"},
{name:"somefriend2 11", number:"23"}
],
otherchat:[
{name:"someother1", number:"34"},
{name:"someother2", number:"45"}
],
friendrequest:[
{name:"somerequest1", number:"56"},
{name:"somerequest2", number:"67"}
],
sentrequest:[
{name:"somesent1", number:"78"},
{name:"somesent2", number:"89"}
]
};
$(function(){
var $select = $('#mySelect');
$.each(opt, function(key, value){
var group = $('<optgroup label="' + key + '" />');
$.each(value, function(){
$('<option value=' + this.name + '/>').html(this.name).appendTo(group);
});
group.appendTo($select);
});
$("#mySelect").change(function(){
$("#selectedValue").html($(this)[0].value);
});
});
});
</script>
</head>
<body>
<select id="mySelect" size="9">
</select>
<h3>Selected Value from optgroup </h3>
<h3 id="selectedValue"></h3>
</body>
</html>
Если мы выберем второй вариант из выпадающего списка, то есть «somefriend2 11», который содержит пробел, то вывод будет выглядеть как «somefriend2» вместо «somefriend2 11».
Я не могу понять проблему.
Кто-нибудь может проверить, что не так с кодом?