多个和单个选择/组合框的逻辑
Logic for multiple and single select/combo boxes
下面是我的代码:
<%@taglib uri="/WEB-INF/struts-bean.tld" prefix="bean"%>
<%@taglib uri="/WEB-INF/struts-html.tld" prefix="html"%>
<script type="text/javascript">
var flag = false;
function test(selObject)
{
alert("hi");
var form = document.forms[0];
alert("form"+form);
var txtS = form["city"];
alert("txt"+txtS);
var len = txtS.length;
alert("len"+len);
for(var i=0; i<len; i++)
{
if (selObject == txtS[i] )
{
if(txtS[i].value==txtS[i].options[3].value)
{
alert("YOU ARE SELECTING MYSORE CITY");
flag = true;
}
if(!txtS[i].options[3].selected && flag)
{
var result = confirm("Are you sure you wnat to travel to this city");
if(result)
{
flag = false;
}
else
{
txtS[i].options[txtS[i].options.selectedIndex].selected=false;
txtS[i].options[4].selected=true;
}
}
}
}//end of for loop
}
</script>
<html:form action="/login">
username:<input type="text" name="username" /></br>
password:<input type="password" name="password"/></br>
<%
for(int i = 0; i < 10; i++){
%>
<html:select property="city" onchange="javascript:test(this);">
<html:option value="B">BANGALORE</html:option>
<html:option value="C">CHENNAI</html:option>
<html:option value="M">MANGALORE</html:option>
<html:option value="MR">MYSORE</html:option>
</html:select></br>
<%
}
%>
<input type="submit" value="submit"/>
</html:form>
当选择框或组合框循环十次时,我会将form["city"]
的长度正确地设置为10,并且alerts
在组合框内的行为是适当的,但如果我有一个选择框,则不会将form["city"]
的长度设置为1
,而是将其设为4
,这是我的下拉框中option
元素的数量。
所以我的逻辑在这里不起作用。
我如何使它同时适用于单个和多个组合框/选择框。
如有任何帮助,我们将不胜感激。
请使用像jQuery这样的javascript库来实现跨浏览器兼容性。
您可以使用以下代码来确定是否只存在单个选择元素或存在具有相同名称的多个选择元素:
if (selObject == txtS) {
alert("Single select");
// ... your logic for a single combo-box follows after this
} else {
// your logic for multiple combo-box follows, like the "for" loop and if-else
}
当只有一个选择框时,行var txtS = form["city"];
将返回该选择框内的选项元素数组,而当多个具有相同名称的选择框时则返回选择框数组。
希望这能有所帮助。
与您的问题无关,但此逻辑if(!txtS[i].options[3].selected && flag)
将始终返回false
相关文章:
- 多个和单个选择/组合框的逻辑
- 将7个图像组合为一个,一个在另一个之上,并输出为单个图像
- 文本框和选择框组合单个文本中的值(第一个tb值,然后是sb值)
- 正则表达式“gi”修饰符的组合不适用于单个单词
- 如何将 javascript 值与 php 值组合到单个 JavaScript 变量中
- Javascript 将反斜杠和正斜杠的组合替换为单个正斜杠
- 多个文档.ready不起作用,如何将它们组合成单个文档.ready
- 使用 JavaScript 将多个对象结果集的数组合并到单个数组中
- 三.js:在立方体的单个面上组合材质(使用多种材质)
- 如何检测单个控制键向上事件,但不是键组合
- 将不同数据类型的类型化数组合并到单个arraybuffer中
- 使用javascript将日期和时间字符串组合为单个日期
- 自动选择单个匹配jQuery UI自动完成组合框
- 为单个状态组合嵌套视图和多个视图
- 在单个吞链中组合多个源
- 提交HTML表单数据作为一个文件/组合表单数据+文件,并在Javascript中作为单个文件发送
- 我如何使用单个css文件在"组合器"CSS压缩插件
- 如何将3个选择列表组合成单个输入文本字段
- 将数组对象组合成单个对象
- 用于将多个Jquery就绪函数组合为单个就绪函数的Grunt任务