0

我正在尝试添加即时验证器,但似乎欧芹甚至没有远程考虑这些语句,甚至没有在控制台中留下错误。这是我的场景

用户单击复选框,然后:

if(!$scope.data.contest.prizes[1].enabled)
{
    $( '#edit_contest' ).parsley( 'removeItem', '#prz2_it_ttl' );
} else {
    $( '#edit_contest' ).parsley( 'addItem', '#prz2_it_ttl' );
}

我也尝试给 jquery 对象 $("#myelement")

$( '#edit_contest' ).parsley( 'addItem', $('#prz2_it_ttl') );

或者,我试图将它包装在销毁/创建语句周围

$( '#edit_contest' ).parsley('destroy');
$( '#edit_contest' ).parsley( 'addItem', $('#prz2_it_ttl'));
$( '#edit_contest' ).parsley();

这并没有改变任何事情。

4

1 回答 1

1

事实证明,这种奇怪行为背后的原因是 add/removeItem 中提到的其中一个 id 拼写错误但日志指向错误的行。

我有这个

$( '#edit_contest' ).parsley( 'removeItem', '#prz2_it_ttl' );
$( '#edit_contest' ).parsley( 'removeItem', '#prz2_en_ttl' );
$( '#edit_contest' ).parsley( 'removeItem', '#prz2_it_des' );
$( '#edit_contest' ).parsley( 'removeItem', '#prz2_en_des' );

当真正的拼写错误在第 4 行时,错误指向第 1 行。在发现并修复它之后,一切都开始像魅力一样工作(或多或少)。所以这个故事的寓意是:在你的调试程序中做任何其他事情之前,总是仔细检查所有的 id。

于 2013-04-05T10:09:24.190 回答