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 回答 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 );
    });
于 2013-09-23T10:55:02.497 回答
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>
于 2013-09-23T11:07:14.567 回答
0

你能做个选项吗

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

并在您需要时将其爆炸

于 2013-09-23T10:54:22.257 回答
-1

您可以通过此脚本获取所选选项的父值:

function check_options(val)
{
var test = $(val).find(":selected").attr("parent").value;
alert(test);
}
于 2013-09-23T11:01:18.943 回答