2012-02-09 159 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