我是否知道如果符合条件,如何使选择框无法选择其他选项?未禁用的功能,就像从selectbox中选择项目一样,如果满足脚本条件,它将自动恢复为之前选择的选项。
<%
Vector vTable = (Vector) session.getAttribute("TABLE_CERT");
%>
<script>
function rateStatus()
{
if(<%=vTable.size()%> > 0)
{
//what condition should i put in here??
}
}
</script>
<select name="RATE_TYPE" onChange="rateStatus()" >
<option value="T" <% if (RATE_TYPE.equals("T") ){out.println("selected");} %>> Tariff </option>
<option value="SE" <% if (RATE_TYPE.equals("SE") ){out.println("selected");} %>> Self </option>
<option value="SP" <% if (RATE_TYPE.equals("SP") ){out.println("selected");} %>> Special </option>
</select>
答案 0 :(得分:0)
您可以拦截onChange事件(您使用rateStatus
处理它)并在需要时恢复.defaultValue
<script>
function rateStatus(el)
{
if(<%=vTable.size()%> > 0)
{
el.value = el.defaultValue;
}
}
</script>
<select name="RATE_TYPE" onChange="rateStatus(this)" >
<option value="T" <% if (RATE_TYPE.equals("T") ){out.println("selected");} %>> Tariff </option>
<option value="SE" <% if (RATE_TYPE.equals("SE") ){out.println("selected");} %>> Self </option>
<option value="SP" <% if (RATE_TYPE.equals("SP") ){out.println("selected");} %>> Special </option>
</select>
答案 1 :(得分:0)
未禁用功能,就像从selectbox中选择项目时一样 脚本条件得到满足后,它会自动恢复为 之前选择的选项。
根据您的问题文本,让我添加另一个答案,这可能是您正在寻找的行为:
$("#selectBox").attr('onfocus', 'this.defaultIndex=this.selectedIndex;');
$("#selectBox").attr('onchange', 'this.selectedIndex=this.defaultIndex');
见这里:http://jsfiddle.net/ddan/jvu5w6zn/3/
如果条件满足,您选择的任何内容都会跳回原始选择。