我正在使用JQuery来显示模式对话框。该对话框有一个文件上传控件和上传按钮。它还包含两个用于保存和取消的按钮。
我需要将文件上传控件设为强制控件。我能够遍历文件控件并获取路径 $(本).parent()的兄弟姐妹()儿童()得到(1).value的。;并在点击上传按钮时显示错误消息。但我想显示保存按钮显示的相同错误。
当我创建按钮以及
这样的对话框时,需要从保存按钮遍历的帮助$("#dialog").dialog({
bgiframe: true,
autoOpen: false,
height: 500,
width: 600,
modal: true,
buttons: {
Cancel: function() {
$(this).dialog('close');
},
'Save': function() {}
}
});
答案 0 :(得分:1)
在您的代码示例中,取消和保存处理程序中的this
似乎是#dialog
元素,因此您可以从那里遍历所有子项。然而,使用选择器而不是遍历会更加健壮。像$(this).find(':file').val()
这样的东西应该有效。
使用选择器会使代码更加健壮,因为即使您在对话框中添加其他元素,它也会继续工作。正如一些评论者所指出的那样,为文件上传控件提供一个唯一的ID会使用简单的选择器更容易地选择它。如果您需要使用代码来处理具有上载字段的不同ID的多个对话框,则可以使用类或其他特定选择器(如上面提到的:file选择器)与特定上下文的.find方法结合使用。
为了进一步帮助你,我们可能需要更多的上下文,比如#dialog元素的内容。也许提到定义.dialog方法的jQuery插件会有所帮助。