0

我有一个跳转菜单,里面有几个不同的选项。一个选项要求打开一个对话框,而其他两个选项重定向到站点内的其他页面。

我似乎只能一次获得两种选择之一。当我保留 onChange 脚本时,对话框会打开,但随后会快速重定向到“找不到页面”,但会正确重定向到页面。当我删除 onChange 脚本时,对话框打开正常,但其他选项不会重定向我。

我可以同时工作吗?

这是我的菜单:

<select name="select_menu" size="1" class="select" onChange="if(this.selectedIndex!=0)
self.location=this.options[this.selectedIndex].value">
   <option selected="selected"><em>Options...</em></option>
   <option value="http://..1">Change Cat</option>
   <option class="bulkConfirmOpen">Approve</option> <!--dialog-->
   <option value="http://..2">Move to Cat</option>
</select>
4

1 回答 1

1

发生的情况是,当您单击应该打开对话框的选项时,更改脚本仍会尝试重定向到以选项值作为 url 的页面。在这种情况下,具有“bulkConfirmOpen”类的选项的值为“Approve”。这不是一个有效的网址。

有几种方法可以解决这个问题。如果索引为 2(bulkConfirmOpen 选项的索引),您可以避免设置位置,或者更好的是,在更改位置之前检查 bulkConfirmOpen 类。

<select name="select_menu" size="1" class="select" onChange="if(this.selectedIndex!=0 && this.options[this.selectedIndex].className != 'bulkConfirmOpen')
self.location=this.options[this.selectedIndex].value">
   <option selected="selected"><em>Options...</em></option>
   <option value="http://..1">Change Cat</option>
   <option class="bulkConfirmOpen">Approve</option> <!--dialog-->
   <option value="http://..2">Move to Cat</option>
</select>
于 2013-01-10T19:14:21.793 回答