我发布了一个类似的问题,但这有点不同。我需要扫描页面上的所有文本框(大约100个,所有文本框都是[ROW]中的动态名称),然后从下拉列表中删除匹配的值。我已经玩了很多这个和a)无法获取windows.load功能在IE中启动(Firefox没问题)但是然后无法获得常规Javascript以匹配文本框值到组合框选项文本
我希望有人能用JQuery指出我正确的方向!客户在我耳边尖叫着完成这件事!
感谢josh
这是我对init函数的代码 代码不是针对IE触发,而是针对Firefox,并且与文本框和选择选项文本的文本值不匹配
<script type="text/javascript">
function init()
{
try
{
// quit if this function has already been called
if (arguments.callee.done) return;
// flag this function so we don't do the same thing twice
arguments.callee.done = true
var objPlayer = document.getElementById("player");
if(objPlayer == null)
{
alert("player list not found");
}
for(intPos = 0; intPos < 23; intPos++)
{
for(intChoice = 1; intChoice < 4; intChoice++)
{
var objText = intPos+"Year1Pick"+intChoice;
var obj = document.getElementById(objText);
if(obj)
{
for(var i = 0; i < objPlayer.options.count -1; i++)
{
if(obj.value == objPlayer.options[i].value)
{
alert("Found match !!! "+obj.value+" at poition "+intPos+" choice "+intChoice);
objPlayer.remove(i);
}
}
}
}
}
}
catch(e)
{
alert("The following error occurred: " + e.name + " - " +e.message);
}
};
/* for Mozilla */
if (document.addEventListener) {
document.addEventListener("DOMContentLoaded", init, false);
}
/* for Internet Explorer */
/*@cc_on @*/
/*@if (@_win32)
document.write("<script defer src=ie_onload.js><"+"/script>");
/*@end @*/
/* for other browsers */
window.onload = init;
</script>
答案 0 :(得分:0)
嗯,你没有提供任何代码,所以我们所能做的就是猜测。 但我相信你应该使用类似的东西:
$('input:text').live('load', function(){$('select option[value="'+$(this).val()+'"]').remove() ;});
这将从select选项中删除与文本输入中输入的值相同的值(加载文本输入时)。