Symfony 1.4 sfWidgetFormJQueryAutocompleter插入新值

Symfony 1.4 sfWidgetFormJQueryAutocompleter插入新值,autocomplete,symfony-1.4,jquery-autocomplete,Autocomplete,Symfony 1.4,Jquery Autocomplete,我已经使用sfWidgetFormJQueryAutocompleter成功地从数据库实现了自动完成字段,但是如果不需要列出的值,我无法找到插入新值的方法 每次我提交带有新值的表单时,它都会显示必需的错误。这是因为自动完成字段的名称与表单小部件的名称不同 我的小部件配置是 'city' => new sfWidgetFormJQueryAutocompleter(array(

我已经使用sfWidgetFormJQueryAutocompleter成功地从数据库实现了自动完成字段,但是如果不需要列出的值,我无法找到插入新值的方法

每次我提交带有新值的表单时,它都会显示必需的错误。这是因为自动完成字段的名称与表单小部件的名称不同

我的小部件配置是

'city'                      => new sfWidgetFormJQueryAutocompleter(array(

                                    'url'   => url_for('trainingdetail/ajaxcity'),

                                    'config' => '{ width: 220,max: 5,highlight:false ,multiple: false,multipleSeparator: ",",scroll: true,scrollHeight: 300}'
))

我认为可能有一种更优雅的方法来做这件事,但我解决了它如下

使用sfWidgetFormJqueryAutocompleter时,实际的表单字段将被小部件中的另一个字段替换,原始表单字段将转换为隐藏字段

我只是检查可见字段是否有值,如果有,则将该值指定给隐藏字段,该字段是表单类中定义的原始表单字段

我的示例代码,在表单提交时触发

<script type="text/javascript">
$(document).submit(function cty(){
   if($('#autocomplete_trn_training_city').val().length>0)
    {
        $('#trn_training_city').val($('#autocomplete_trn_training_city').val());
    }
});
</script>
这里:autocomplete\u trn\u training\u city是jquery小部件生成的字段的id
trn_training_city是提交到数据库的原始表单字段的id

我认为可能有一种更优雅的方法来做这件事,但我解决了它如下

使用sfWidgetFormJqueryAutocompleter时,实际的表单字段将被小部件中的另一个字段替换,原始表单字段将转换为隐藏字段

我只是检查可见字段是否有值,如果有,则将该值指定给隐藏字段,该字段是表单类中定义的原始表单字段

我的示例代码,在表单提交时触发

<script type="text/javascript">
$(document).submit(function cty(){
   if($('#autocomplete_trn_training_city').val().length>0)
    {
        $('#trn_training_city').val($('#autocomplete_trn_training_city').val());
    }
});
</script>
这里:autocomplete\u trn\u training\u city是jquery小部件生成的字段的id
trn_training_city是提交到数据库的原始表单字段的id

sfWidgetFormJQueryAutocompleter是SFWidgetFormDoctriEchoice表单小部件的唯一呈现程序。您不能使用它创建新值,只能从现有值中选择一个值。它的just select字段伪装为SFWidgetFormJQueryAutoCompleter是SFWidgetFormDoctoryEchoice表单小部件的唯一渲染器。不能使用它创建新值,只能从现有的“仅选择”字段伪装中选择一个