1

我有这种情况:我有一个可以编辑用户信息(姓名、电子邮件、电话等)的页面。当我单击编辑按钮时,它会调用一个对话框(模式窗口),该对话框会加载已在数据库中设置的用户数据。当用户单击更新按钮时,我在控制器中进行验证以确保他插入了有效的电子邮件。如果电子邮件无效,我有一个错误,我在这个特定的对话框中将一个名为“error”的类添加到 html 标签中。我想做的是,如果有错误,我希望在验证后立即打开对话框。因为我只在出现错误的时间和地点设置了这个特定的类错误,所以我希望你的帮助找到一种$('#addEditUserDialog').dialog('open');在这种情况$("#addEditUserDialog label.error")发生时调用对话框的方法:

我试着做:

if ($("#addEditUserDialog label.error")) {
        $('#addEditUserDialog').dialog('open');
    }

但即使未设置类错误,它也会调用对话框。我知道这是一个基本问题,但我对 javascript 的经验并不多,而且我有点迷茫。

4

2 回答 2

1

一个 jQuery 对象总是真实的(也就是说,它的计算结果为 true)。要测试一个元素的存在,需要使用$().length(如果没有元素,它应该是0,然后是假的)。

if ( $("#addEditUserDialog label.error").length ) {
    $('#addEditUserDialog').dialog('open');
}
于 2012-07-24T15:58:06.013 回答
0

尝试 -

var className = $("#addEditUserDialog").attr("class");
if (className == "error")
{
    $('#addEditUserDialog').dialog('open');
}
else
{
    alert("Class not found");
}

或者

if ($("#addEditUserDialog").hasClass("error"))
{
    $('#addEditUserDialog').dialog('open');
}
else
{
    alert("Class not found");
}
于 2012-07-24T16:05:55.087 回答