从选择小部件之间切换项目

时间:2014-02-27 02:56:42

标签: php jquery widget choice

我正在使用Symfony2.3.​​4和jQuery,或者至少尝试过。

问题是我有一个带有两个选择小部件的表单(在每个multiple = true和expanded = false中)和两个按钮。这个表单是用Doctrine的crud生成的,所以我现在熟悉它生成的代码。经过一段时间搜索网络,很长一段时间以来,由于我对网络编程很了解,我设法得到一个功能,从一个选择小部件中删除选定的选项,并使用每个小部件的ID将它们附加到另一个:

//../custom_js.js
 function move_option_among_choices(id_from, id_to) {
     $('#' + id_to).append($('#' + id_from + ' option:selected'));
}

问题出现了:

  1. 我从第一个小部件(id_from)中单击一个选项。
  2. 我按下执行上述功能的按钮。
  3. 我看到所选的选项已从第一个小部件中删除,现在显示在第二个小部件中。
  4. 我提交表格......
  5. 只有我不能用移动的选项做我想做的事,因为它们不在那里。 当我尝试访问第二个小部件的选项时:

    var_dump($form->get('selected_prof')->getConfig()->getOptions()['choices']);
    

    我得到一个空数组,但每次按下执行js func的按钮时,它会将选项从第一个小部件移动到第二个小部件。

    这就像函数只移动文本一样,实际的组件/选项(idk如何调用它)在内部仍然在第一个小部件中。

    有没有办法解决这个问题?

    如果它是以不同的方式访问第二个小部件中的选项或以不同的方式将它们附加到它中,则无关紧要。

    感谢。

    {% extends 'AdminBundle:Default:administracion.html.twig' %}
    
    {% block contenido -%}
    <h1>Nuevo Comit&eacute; Acad&eacute;mico</h1>
    
    {% if error %}
    <div class="alert alert-error my_error">
    <button type="button" class="close" data-dismiss="alert">&times;</button>
                    {{ error }}
    </div>
    {% endif %}
    
    <div class="row-fluid">      
    <form class="form-horizontal sf_admin_form_area" 
    action="{{ path('comiteacad_create') }}" 
          method="post" {{ form_enctype(form) }}>
            {{ form_widget(form) }}
    
        <div class="form-actions">
            <button type="submit" class="btn btn-primary">
                <i class="icon-ok"></i> {{'Guardar' | trans}}</button>
    
            <a class="btn" href="{{ path('comiteacad') }}">
                <i class="icon-ban-circle"></i> {{'Cancelar' | trans }}</a>
        </div>
    </form>
    </div>
    {% endblock %}
    

0 个答案:

没有答案