使用jQuery从handler中查找#ID

时间:2015-09-07 07:04:47

标签: php jquery posting

如何使用jQuery找到#[ID]

我有一个检查一些信息的处理程序,如果找到ID,我正在用jQuery检查... 但它总是回馈“没什么”,它给了我错误,所以它意味着有错误!

我是这样做的......

jQuery的:

posting.done(function(data){
    var warnings = $(data).find('.warnings');

    $('form#gastenboek').append(data);

    if (warnings.length > 0) {
        alert("errors")
    } else {
        alert("Nothing");
    }
});

处理程序:

if (!empty($warning) && isset($warning))
{
    foreach($warning as $warning)
    {
        echo "<span id='warnings' style='color:orange;' class='glyphicon glyphicon-flag'></span><a style='color:orange;'>" . $warning . "</a><br>";
    }
}

2 个答案:

答案 0 :(得分:1)

首先,您在错误的位置使用attr()方法,因为它应包含属性作为第一个参数。由于没有元素具有属性#warnings,因此您将获得null

其次,DOM中只有只有一个元素具有特定的id,除非您通过向[]提供id将其指定为数组。因此,使用.find()搜索DOM将仅返回第一个匹配的元素。

因此,您应该对class返回的元素实施data 警告。然后使用jQuery&#39; s .find()搜索具有该特定警告类的元素:

var warnings = $(data).find('.warnings');

if(warnings.length > 0){
     alert("warnings");
} else {
     alert("nothing");
}

答案 1 :(得分:0)

您需要使用 find()

var warnings = $(data).find('#warnings');

注意: Id应该是唯一的,请改用<{1}}

<强> PHP:

class

jQuery:

if (!empty($warning) && isset($warning))
{
    foreach($warning as $warning)
    {
        echo "<span style='color:orange;' class='glyphicon glyphicon-flag warnings'></span><a style='color:orange;'>" . $warning . "</a><br>";
        //                                                                 --^-- adding class
    }
}