基于下拉菜单jquery和php创建动态表单字段

基于下拉菜单jquery和php创建动态表单字段,php,jquery,html,Php,Jquery,Html,我的表单中有一个下拉列表,它实际上帮助根据查询类型动态生成mysql db查询。 e、 g如果在fetchYourDetails的下拉列表中键入我的查询类型,那么表单中将显示一个文本框,询问我的姓名。一旦输入我的名字并单击generate,它就会构建查询框架并在后台php中运行它 像这样,我有大约4/5的查询类型,将来可能会增加。在这里,我对当前的实现有一个问题 我现在使用的是:一个表单,我有下拉列表和所有参数字段(隐藏)来开始。现在,使用js中的onchange()函数,我将根据所选的下拉选项

我的表单中有一个下拉列表,它实际上帮助根据查询类型动态生成mysql db查询。 e、 g如果在fetchYourDetails的下拉列表中键入我的查询类型,那么表单中将显示一个文本框,询问我的姓名。一旦输入我的名字并单击generate,它就会构建查询框架并在后台php中运行它

像这样,我有大约4/5的查询类型,将来可能会增加。在这里,我对当前的实现有一个问题

我现在使用的是:一个表单,我有下拉列表和所有参数字段(隐藏)来开始。现在,使用js中的onchange()函数,我将根据所选的下拉选项显示一些特定的参数行,并隐藏其余的参数行

下面是我的HTML代码的样子:

<form>
   <table>
      <tr id='dropdown'>
         <td>
            <select id='select_options' onchange ="javascript:updateCustomQueryFields();">
               <option value='getyourdetails'></option>
               <option value='getyourbikedetails'></option>
               <!-- so on -->
            </select>
         </td>
      </tr>
      <tr style='display:none'>
         <td>
            <!-- one field -->
            <!-- create the generate option -->
         </td>
      </tr>
      <tr style='display:none'>
         <td>
            <!-- one field -->
            <!-- create the generate option -->
         </td>
      </tr>
      <!-- so on -->
   </table>
</form>
function updateCustomQueryFields()
{
    val=$('#select_options').val();

    //hideallfieldsfirst

    if(val=='getyourdetails')
    {
        //show one field
    }
    else if(val=='getyourbikedetails')
    {
        //show one field
    }
}
到目前为止还不错,现在,当我点击generate选项时,它将执行查询并从数据库中获取数据,并将其显示在表单下方的results div中

因此,在显示结果的同时,我必须根据控制器中设置的参数在视图中隐藏一些字段并显示其他字段。 因此,当我们添加更多参数时,if-else语句的序列也可能增加

因此,我想要的是一种机制,通过这种机制,我们将动态生成参数字段,例如,如果查询类型为“getyourdetails”,则只应创建名称字段,其余所有字段应在后端onchange函数中删除。


那么,如何使用jquery实现这一点呢?这是实现我想要的场景的合适方法吗?我必须记住,在获取结果后,一旦调用从控制器返回,我的参数字段的比例就必须保持不变。

我不确定我是否理解了你的问题,但至少我对你的请求的了解表明,为了制作这类表单,最好使用jQuery的
remove
append
函数。您可以动态创建任何控件,并通过为它们设置的ID将它们设置在控制之下。这就像喝一杯水一样简单

,

如果我的答案错了,请纠正我