2012-02-09 161 views
0

我是jquery的新手,並且在過去的幾天裏一直在嘗試使用它,並且一直在使用它,直到我達到這一點。我正在編輯用戶頁面,並且在從數據庫中填充的列表中選擇正確的角色時遇到問題。 //這是選擇用戶下拉通過選擇選項進行迭代

<select id="ddlUsers" name="ddlUsers" > 
    <option value="0">--Select User--</option> 
    <%for(Usertable user:usertableModel.getAllUsertables()){ %> 
     <option id="<%=user.getUserid() %>" value="<%=user.getUserid() %>" 
      onclick= "showUserRole('<%=user.getRole().getRoleid() %>')">  <%=user.getLastname() %> , <%=user.getFirstname() %> 
    </option> 
    <%} %> 

//這是我想從第一個下拉菜單中選擇用戶的合適的角色的選擇選項。

<select name="ddlRoles"> 
    <%for(Role r:roleModel.getAllRoles()){ %> 
    <option value="<%=r.getRoleid() %>"><%=r.getRolename() %></option> 
    <%} %> 
</select> 

//這裏是我試圖用

function showUserRole(role){ 
    $('#ddlRoles').each(function(){ 
     if($('option', this).val() == role){ 
    $('option', this).attr("selected","selected"); 
     } 
    }); 
} 

但顯然jQuery的它不工作....所以任何幫助表示讚賞...謝謝

回答

1

ddlRolesnameattribute值,你不能把它作爲id selector。試試這個

如果<select name="ddlRoles">

然後

function showuserRole(role){ 
    $('select[name="ddlRoles"]').val(role); 
} 

否則更改爲<select id="ddlRoles">

然後

function showuserRole(role){ 
    $('select#ddlRoles').val(role); 
} 
+0

非常感謝。我一直在嘗試3nigma發佈一段時間的結果,只是因爲我忘了設置選擇ID「ddlRoles」......現在一切正常。我甚至嘗試過你的建議,它的工作原理非常完美,語法較短,所以我會按照你的意思去做。再次感謝您 – Sophonias 2012-02-09 18:53:51

+0

非常感謝。我一直在嘗試3nigma發佈一段時間的結果,只是因爲我忘了設置選擇ID「ddlRoles」......現在一切正常。我甚至嘗試過你的建議,它的工作原理非常完美,語法較短,所以我會按照你的意思去做。再次感謝你 – Sophonias 2012-02-09 18:53:58

+0

你是受歡迎的朋友,但我想這是給你正確的方向和解釋的答案..你應該把這個標記爲接受不是上述。 llollllzzzz – 2012-02-10 03:36:53

1

嘗試

$('#ddlRoles').find("option[value='"+role+"']").attr("selected","selected"); 
+0

這也可以工作,但它的易於使用的.VAL( )選擇對象上的函數。 – AndrewR 2012-02-09 17:14:15

+0

非常感謝你我實際上已經嘗試過使用它,並且無法正常工作,但現在我知道我的代碼有什麼問題了。我忘了將角色的select標籤的ID設置爲「ddlUsers」。謝謝。 – Sophonias 2012-02-09 18:25:34

+0

歡迎您,很高興幫助 – Rafay 2012-02-09 19:11:37

0

只需將#ddlRoles的值設置爲要傳入的角色,即可簡化showuserRole函數。

function showuserRole(role){ 
    $('#ddlRoles').val(role); 
} 
+0

非常感謝這樣可行。我需要設置它的工作的選擇的ID。 – Sophonias 2012-02-09 18:55:27