javascript选择输入先前的选择

javascript select input previous selection

本文关键字:选择 输入 javascript      更新时间:2023-09-26

我对javascript没有太多经验,所以我不确定是否/如何做到这一点。因此,我有许多选择组件和几个选项。所有组件的其中一个选项是"全部"。

现在我需要确保没有超过一个组件选择了"全部"。我正在使用一些输入字段并进行一些验证,以确保这个条件成立。然而,我不知道该怎么做。当用户从字段中选择"全部"时,由于页面上已经有"全部",因此这是不允许的,将上一个选择放在它的位置。

到目前为止,我拥有的是(组件是当前选择的组件(:

selectedName = component.options[component.selectedIndex].innerHTML;
if (selectedName == 'All') {
  if (emptyAllSpace() == 1) {
    //here I do all the mumbo jumbo needed and assign to the hidden field the name of 
    //the component
  } 
  else {
    //Here is where I should put back the old selection value. 
  }
 }

现在,另一个分支是我需要弄清楚的地方。那么,在当前选择的选项之前获得所选选项是多么困难

我也很感兴趣这会有多困难,因为我也可以选择另一条路线,只选择第一个不是"全部"的选项,但如果不太耗时的话,我宁愿避免这样做。

谨致问候,Bogdan

使用onchange事件进行选择。首先存储默认值,并在更改时重新分配。或者使用两个变量来保留最后两个选择的选项(?(。

更新

使用CCD_ 1在其改变之前获得该值,http://jsfiddle.net/gQHqj/。在这个处理程序中,您可以注册以下onchange,并将该值存储在闭包(onfocus的scope对象(中。

更新2

我知道有点可疑,但没有时间检查,如果用户没有移动到另一个元素或单击元素仍在焦点上的某个地方,则不会调用onfocus,而onchange(如果用户更改了值(会调用错误的prev值。所以我想出了一个错误修复程序,你应该有这样的结构:http://jsfiddle.net/gQHqj/4/

您可以将以前选择的值保留在变量中。此变量的值将在表单/页面加载时填充,只有在选择正确的情况下才会更新。否则,将使选择恢复为其值。