gpt4 book ai didi

jquery indexOf 与 IE 的问题

转载 作者:行者123 更新时间:2023-12-01 08:24:53 25 4
gpt4 key购买 nike

我有一个多重选择字段和一个检查选择更改的 jquery 函数。该函数查找值“Other”,如果选择它,则显示一个额外的文本字段。

这在 Chrome 和 FF 中工作正常,但由于某种原因 IE 在 indexOf 函数上抛出错误“对象不支持此属性或方法”。

任何帮助将不胜感激。

代码如下:

编辑:请记住,此代码实际上可以在 chrome 和 FF 中运行。只有 IE 抛出错误...

<select name="test" multiple="multiple" id="test">
<option value="one">one</option>
<option value="two">two</option>
<option selected="selected" value="Other">Other</option>
</select>
<input name="Name_Other" type="text" id="Name_Other" class="OtherDisplay" />


$.toggleOther = function (dd, txtOther) {
if ($(dd).val() == null || $(dd).val().indexOf("Other") != 1)
$(txtOther).hide();

$(dd).change(function () {
var sel = $(this).val();
if (sel != null && sel.indexOf("Other") != -1) {
$(txtOther).show();
}
else {
$(txtOther).hide();
}
});
}

$.toggleOther("#test", ".OtherDisplay");

最佳答案

事实是 IE 不处理 Array.indexOf。这就是问题的根源。

您可以创建处理程序:

if(!Array.indexOf){
Array.prototype.indexOf = function(obj){
for(var i=0; i<this.length; i++){
if(this[i]==obj){
return i;
}
}
return -1;
}
}

它应该可以解决你的问题。

关于jquery indexOf 与 IE 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4700752/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com