2013-09-23 69 views
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); 

} 
+2

「的事情一打」,像什麼?請張貼一些代碼! –

+0

發佈您試過的....我的意思是代碼 – iJade

+0

,其中是'check_options'方法? –

回答

4

試試這個代碼:
JS小提琴: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 :( – Ariks

+0

嗨我已經更新了代碼請現在檢查 – Shaheer

+0

謝謝@莎黑爾,你幾乎從我身上摘下了一個噩夢 – Ariks

0

你可以請選擇

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

和爆炸當你科目編號

+0

謝謝@Shakti Patel,我有這種選擇,但首先我試圖以更簡單的方式做到這一點。如果無論如何都沒有獲得這個父母的價值,當然我必須繼續這一點。 – Ariks

-1

您可以通過此腳本獲得所選選項的父值:

function check_options(val) 
{ 
var test = $(val).find(":selected").attr("parent").value; 
alert(test); 
} 
+0

最後一個'.value '無效,'attr()'已經返回值 – NDM

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> 
相關問題