JQuery:警报工作不正常

JQuery:警报工作不正常,jquery,Jquery,我有一个通过JQuery创建的对话框,如下所示 <div class ="editable" id="div_David L. Kirp[instructor_status]"contenteditable="1"> <span class="text-error">Error: More than one user with same fname and lname</span<br/> Users:&l

我有一个通过JQuery创建的对话框,如下所示

    <div class ="editable" id="div_David L. Kirp[instructor_status]"contenteditable="1">
        <span class="text-error">Error: More than one user with same fname and lname</span<br/>
            Users:<br/>
        <span class="multiple-users">
                &nbsp[CLICK HERE] Instructor ID: 65, Common Name: David Kirp</span<br/>  
        <span class="multiple-users">
                &nbsp[CLICK HERE] Instructor ID: 17210, Common Name: David L. Kirp</span><br/><div class="update-dialog" title="Update Common Name">Which instructor do you want to update?<p><input type="radio" id="instructor_65" name="instructor" value="65"/><label for="instructor_65">        
                Instructor ID: 65, Common Name: David Kirp
            </label></p>
            <p><input type="radio" id="instructor_17210" name="instructor" value="17210"/>
<label for="instructor_17210">        
            Instructor ID: 17210, Common Name: David L. Kirp
            </label></p>Which common name do you want to assign the instructor?<p><input type="radio" id="commonName_65" name="common_name" value="David Kirp"/><label for="commonName_65">
            David Kirp
            </label></p><p><input type="radio" id="commonName_17210" name="common_name" value="David L. Kirp"/><label for="commonName_17210">
            David L. Kirp
            </label></p></div><button class="update-button" type="button">Update Common Name of an Instructor</button></div>

<script>
$("div.update-dialog").dialog({
                autoOpen: false,
                dialogClass: 'dialogStyle',
                resizable: false,
                modal: true,
                buttons: {
                    "Update": function() {
                    //$.load('update_common_name.php', 
                        $( this ).dialog( "close" );
                    },
                    Cancel: function() {
                        $( this ).dialog( "close" );
                    }
                }
           });



         $('div.editable').on('click', '.update-button', function () {
            $(".update-dialog").dialog("open");

         }); 

and I want it so that when I click on one of the radios, it will update the existing values to variables instructor_id and common_name (I eventually want to make an ajax request with them), like so: 

$('input:radio').change(function () {        
            instructor_id = $(this).closest('input[name=instructor]:checked').val();
            common_name = $(this).closest('input[name=common_name]:checked').val();

            // alert is for testing
            alert(instructor_id + common_name);
}); 
</script>


错误:多个用户具有相同的fname和lname在您的情况下,此错误是完全合理的,因为当您更改
讲师
-
$(此)。最近('input[name=讲师]:checked')
为您提供已检查的收音机,但
$(此)。最近('input[name=common\u name]:checked'))
将无法找到该元素,因为
通用名
收音机不是
讲师的祖先。如果您选择一个
通用名称
,则讲师会给出
未定义的

Try(在您从两组值中选择值之前,这仍可能为其中一个字段提供未定义的值)


演示:

控制台中是否有任何错误消息?是否可以显示此页面?@Pyro:no,我没有收到任何错误消息。
.closest('input[name=checker]:checked')
这将永远不会返回任何元素<代码>最近的
选择最近的父元素<代码>输入
元素不能是其他元素的父元素。
$('input:radio').change(function () {
    var instructor_id = $(this).closest('.update-dialog').find('input[name=instructor]:checked').val();
    var common_name = $(this).closest('.update-dialog').find('input[name=common_name]:checked').val();

    // alert is for testing
    alert(instructor_id + common_name);
});