我添加了onfocus和onclick来选择和编写java脚本函数,如下所示。使用速度即.vm
文件来调用javascript函数。
<script type="text/javascript">
function fixA(val){
alert(val);
// document.getElementById(val).style.zIndex="100";
val.style.zIndex=300;
}
function fixB(val){
alert(val);
// document.getElementById(val).style.zIndex="300";
val.style.zIndex=300;
}
</script>
#elseif ( $el.type.code == "listbox" )
#if( $errorFields.contains($name) )
<div class="label selectbox big error">
#else
<div class="label selectbox big" >
#end
#if ($el.label)
#if ($el.mandatory)
<label class="label_content" for="$name">$el.label *</label>
#else
<label class="label_content" for="$name">$el.label</label>
#end
#end
<select class="select_styled" id="$name" name="$name" onfocus="fixA($name)" onclick="fixB($name)" >
#foreach($val in $el.values)
#set ($sel = "")
#if ($allInputFields.get($name) == $val)
#set ($sel = ' selected="selected"')
#end
<option$sel onclick="resetIndex()">$val</option>
#end
</select>
<div class="clr">
</div>
</div>
1)我正在使用IE7并且它无法正常工作,它在FF中工作正常。
2)alert(val)
给出[object HTMLSelectElement]
的值,但alert( document.getElementById(val));
给出null。我怎么解决呢?
答案 0 :(得分:2)
主要错误您需要引用名称fixA('$ name')
最好传递这个:onfocus =“fixA(this)”
function fixA(sel){
sel.style.zIndex=100; // int, not a string
}
好像你正在咆哮错误的树。
该插件将DOM重写为一组div
你使用的 jQuery selectbox插件应该只是你想要实现的目标,并且由于IE7的某些特定原因而失败:$container.css("z-index", "10000");
答案 1 :(得分:1)
变量s
不是ID,它已经是对元素的引用。
答案 2 :(得分:1)
没有引号,它传递一个名为$ name的对象,而不是字符串“$ name”。那将是空的或未定义的。
使用单引号引用“$ name”:onclick="fixA('$name')"
答案 3 :(得分:1)
像这样改变:
<select class="select_styled" id="$name" name="$name"
onfocus="fixA('$name')" onclick="fixB('$name')">