我正在试图添加飞行验证器,但似乎欧芹甚至没有远程考虑语句,甚至没有在控制台中留下错误。 这是我的情景
用户点击复选框,然后:
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();
这不会改变事件。
答案 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。