2012-04-16 88 views
0

我試圖發送到值在HTML一個<選擇>選項 - 這裏是我的<選擇>,我甚至不知道我是否有值樹立正確發送到jQuery的。jQuery和多張選擇選項

<select id="needapproval" name="needapproval"> 
    <option value="">* * * Select * * *</option> 
    <cfloop query="GetApprover"> 
    <option VALUE="{'theID': '#GetApprover.rar_ID#', 
     'roomname': '#GetApprover.theroom#'}">Request Number - #GetApprover.rar_ID# 
     - Room/Gate Name -#GetApprover.theroom#</option> 
    </cfloop> 
</select> 

OK,一旦我選擇的價值上面我做的jQuery的onchange事件。價值派:

{'theID': '29', 'roomname': 'red room'} 

如何抓住這兩個值,並將其設置爲瓦爾 - 下面是我jQuery的,我知道這是錯誤的:

var theID = $("#needapproval.theID").val(); 
var roomname = $("#needapproval.roomname").val(); 

回答

1

你可以得到這些值與一些修改您的標記如下,

<select id="needapproval" name="needapproval"> 
<option value="">* * * Select * * *</option> 
<cfloop query="GetApprover"> 
<option VALUE='{"theID":"#GetApprover.rar_ID#","roomname":"#GetApprover.theroom#"}'>Request Number - #GetApprover.rar_ID# - Room/Gate Name -#GetApprover.theroom#</option> 
</cfloop> 
</select> 

請注意VALUE attr中的單引號和雙引號。

然後你可以通過JSON.parse()的值得到theIDroomname。見下文,

$(function() { 
    $('#needapproval').change(function() { 
     var selectedVal = $(this).val();   
     var jsonObj = JSON.parse(selectedVal); 
     alert(jsonObj.theID + " " + jsonObj.roomname); 
    }); 
}); 

DEMO