在动态调用jquery中的兄弟中获取未定义

时间:2014-10-30 11:20:54

标签: java javascript jquery jsp jstl

我是jquery的新手。在我的代码中,我在jquery中动态生成单选按钮。当用户单击单选按钮时,我应该得到兄弟姐妹的值。这是我的jsp代码。

<div id="result">
                                    <c:forEach var="user" items="${model.userList}">

                                        <table>
                                            <thead>
                                                <tr>
                                                    <td>Name</td>

                                                    <td>Is Approver</td>
                                                </tr>
                                            </thead>
                                            <tbody>
                                                <c:forEach var="disp" items="${user.value}">
                                                    <tr>
                                                        <td><c:out
                                                                value="${disp.getTblUserDetails().getUserName()}" /></td>

                                                        <td class="phase" style="display:none"><c:out value='${user.key.getId()}'/></td>
                                                        <td class="users" style="display:none"><c:out value='${disp.getTblUserDetails().getId()}'/></td>

                                                        <td><input type="radio" name="approver" class="some" /></td>
                                                    </tr>
                                                </c:forEach>
                                            </tbody>

                                        </table>

                                    </c:forEach>
                                    </div>

我的Jquery代码:

$("#result").on("click",".some",function() {
                    event.preventDefault();
                   var phaseid= $(this).siblings('.phase').val();
                   var userid=$(this).siblings('.users').val();
                   alert(userid+" "+phaseid);
                });

我在警告框中未定义。我的代码出了什么问题。我得到了兄弟姐妹。 任何帮助将不胜感激!!!!

1 个答案:

答案 0 :(得分:2)

.sometd中的输入元素,因此.phase.users不是this的兄弟,他们是父母的兄弟姐妹this。所以

$("#result").on("click", ".some", function (event) {
    event.preventDefault();
    var $td = $(this).parent();
    var phaseid = $td.siblings('.phase').text();
    var userid = $td.siblings('.users').text();
    alert(userid + " " + phaseid);
});

td也没有价值,您可能需要使用.text()