如何通过动态更改选项来保持正确的选择形式?

如何解决如何通过动态更改选项来保持正确的选择形式?

| 我有以下问题。我制作了一个表格,该表格根据选择的选项动态地更改表格元素。这是一个简短的示例:
<select name=\"vehicle\" id=\"vehicle\" onchange=\"$(\'#div\').load(\'data.PHP?vehicle=\'+this.value);\"> 
      <option value=\"1\"> motorcycle</option>
      <option value=\"2\">buss</option>
      <option value=\"3\"> truck </option>
      <option value=\"4\">. . .</option>
</select>
<div id=\"div\">
<select name=\"moto_type\" id=\"moto_type\">
      <option value=\"1\">Ducati</option>
      <option value=\"2\">Yamaha</option>
      <option value=\"3\">Kawasaki</option>
      <option value=\"4\">. . . </option>
</select>
</div>
从下拉菜单中选择总线后,#div的内容将替换为总线可用的选项,例如:
<select name=\"bus_type\" id=\"bus_type\">
       <option value=\"1\">A-type</option>
       <option value=\"2\">B-type</option>
       <option value=\"3\">C-type</option>
       <option value=\"4\">. . .</option>
</select>
<select name=\"bus_seats\" id=\"bus_seats\">
       <option value=\"1\">10</option>
       <option value=\"2\">20</option>
       <option value=\"3\">50</option>
       <option value=\"4\">. . .</option>
</select>
同样,所有其他选项都会根据在第一个下拉菜单中选择的内容而变化。提交表单后,将处理结果并显示结果表。但是,如果用户单击编辑按钮以返回并编辑他们的选择,则会保存第一个下拉菜单中的选项(假设为bus),但#div中选项bus#2(buss_type和bus_seats)的下拉菜单将替换为#1摩托车(moto_type)的选项不正确。我了解发生这种情况的原因,但我不知道如何向用户显示正确的表单选择。当用户返回表单进行编辑时,如何在主下拉菜单中为每个值显示正确的子选项? 任何帮助表示赞赏! 附加问题: 如何在辅助下拉菜单中保留正确的选择,以使它们不会切换回认值=“ 1”?     

解决方法

不要使用内联事件处理程序,它们只会使您头疼...它们不灵活,并且不允许您将语义标记和行为分开。 相反,请执行以下操作(您可以将其放在
body
之前的
script
标记中,最好与所有其他JS放在单独的文件中):
$(document).ready(function () {

  $(\'#vehicle\').change(function () {
    $(\'#div\').load(\'data.php?vehicle=\'+$(this).val());
  }).change();

});
请注意,您将附加更改事件处理程序,然后立即调用它。这样可以确保它会同时加载页面加载和onchange加载。     ,还要检查表单的初始加载时间,而不仅是下拉菜单的更改。 我在动态显示div的asp中有类似的东西。我有一个可以完成工作的函数,我会在onchange以及表单最初加载时调用该函数。     

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?
Java在半透明框架/面板/组件上重新绘画。
Java“ Class.forName()”和“ Class.forName()。newInstance()”之间有什么区别?
在此环境中不提供编译器。也许是在JRE而不是JDK上运行?
Java用相同的方法在一个类中实现两个接口。哪种接口方法被覆盖?
Java 什么是Runtime.getRuntime()。totalMemory()和freeMemory()?
java.library.path中的java.lang.UnsatisfiedLinkError否*****。dll
JavaFX“位置是必需的。” 即使在同一包装中
Java 导入两个具有相同名称的类。怎么处理?
Java 是否应该在HttpServletResponse.getOutputStream()/。getWriter()上调用.close()?
Java RegEx元字符(。)和普通点?