У меня есть требование получить два относительных значения при смене окна выбора. Имеет несколько блоков выбора, которые содержат некоторые параметры, используемые для представления пользовательских ресурсов. Некоторые параметры представляют собой родительские ресурсы. Поэтому мне нужно получить выбранное значение, а также его родитель или нет.
<select class="filtered remaining" onchange="check_options(this)" id="multi-select-left" multiple="multiple" style="height: 15em;">
<option parent="0" value="1">User</option>
<option parent="1" value="2">User-Login</option>
<option parent="1" value="8">User-Logout</option>
<option parent="1" value="11">User-Register</option>
<option parent="0" value="3">Backend</option>
<option parent="0" value="4">Settings</option>
<option parent="4" value="5">Settings-Edit</option>
<option parent="0" value="6">Category</option>
<option parent="6" value="7">Category-add</option>
<option parent="0" value="12">logger</option>
<option parent="0" value="13">brands</option>
<option parent="0" value="14">User-Role</option>
</select>
так или иначе, чтобы получить значение parent="0"
при выборе опции. Я пробовал десяток вещей, ничего не сработало. :(
Это мой метод check_options
function check_options(val)
{
var test = $(val).children("option").filter("parent").text();
alert(test);
}
попробуйте этот код:
JS Fiddle: http://jsfiddle.net/reigel/frFa9/
$('#multi-select-left').change( function() {
var $t = $(this);
var tVal = $t.val();
var tParent = $t.find('option:selected').attr('parent');
alert( 'tVal: ' + tVal);
alert( 'tParent : ' + tParent );
});
<script>
function check_options()
{
var x=document.getElementById("multi-select-left");
for (var i = 0; i < x.options.length; i++)
{
if(x.options[i].selected ==true)
{
// alert(x.options[i].value);
alert(x.options[i].getAttribute('parent'));
}
}
}
</script>
<select class="filtered remaining" onchange="check_options();" id="multi-select-left" multiple="multiple" style="height: 15em;">
<option parent="0" value="1">User</option>
<option parent="1" value="2">User-Login</option>
<option parent="1" value="8">User-Logout</option>
<option parent="1" value="11">User-Register</option>
<option parent="0" value="3">Backend</option>
<option parent="0" value="4">Settings</option>
<option parent="4" value="5">Settings-Edit</option>
<option parent="0" value="6">Category</option>
<option parent="6" value="7">Category-add</option>
<option parent="0" value="12">logger</option>
<option parent="0" value="13">brands</option>
<option parent="0" value="14">User-Role</option>
</select>
можете ли вы сделать выбор
<option value="0_1">User</option>
и взорвать его, когда вы
Вы можете получить родительское значение выбранной опции с помощью этого скрипта:
function check_options(val)
{
var test = $(val).find(":selected").attr("parent").value;
alert(test);
}
.value
недопустимо, attr()
уже возвращает значение