Передайте два значения из поля выбора, как только его выберут

0

У меня есть требование получить два относительных значения при смене окна выбора. Имеет несколько блоков выбора, которые содержат некоторые параметры, используемые для представления пользовательских ресурсов. Некоторые параметры представляют собой родительские ресурсы. Поэтому мне нужно получить выбранное значение, а также его родитель или нет.

<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);

}
Теги:

4 ответа

4
Лучший ответ

попробуйте этот код:
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 );
    });
  • 0
    Я пробовал это раньше, боюсь, tParent = undefiend :(
  • 0
    привет, я обновил код, пожалуйста, проверьте сейчас
Показать ещё 2 комментария
0
<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>
0

можете ли вы сделать выбор

<option value="0_1">User</option>

и взорвать его, когда вы

  • 0
    Спасибо @Shakti Patel, я имею в виду этот вариант, но сначала я попытался сделать это более простым способом. Если нет никакого способа получить это родительское значение, конечно, я должен продолжить это.
-1

Вы можете получить родительское значение выбранной опции с помощью этого скрипта:

function check_options(val)
{
var test = $(val).find(":selected").attr("parent").value;
alert(test);
}
  • 0
    последнее значение .value недопустимо, attr() уже возвращает значение

Ещё вопросы

Сообщество Overcoder
Наверх
Меню