addElement / removeElement无法正常工作

时间:2013-04-04 15:00:52

标签: jquery validation parsley.js

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

用户点击复选框,然后:

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') );

或者,我试图将它包装在destroy / create语句

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

这不会改变事件。

1 个答案:

答案 0 :(得分: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。