浏览器问题,脚本适用于Firefox但不适用于Internet Explorer

时间:2013-10-05 14:03:22

标签: jquery internet-explorer

我有搜索jquery脚本,在这个jsfiddle 链接http://jsfiddle.net/kzpFA/ 上,但它可以与Firefox一起使用,但不适用于Internet Explorer。 我应该怎么做才能使这个脚本像IE中的FF一样工作。请帮忙

在以下代码段中,我也遇到了简单点击事件的问题

$("select option").click(function(){
    var proid = $(this).text().split(":");
    $("#searchInput").val(proid[0]);
});

3 个答案:

答案 0 :(得分:1)

IE可能无法将js事件绑定到option元素,但您可以将value属性设置为options并使用onchange元素的select事件:

$("select").change(function() {
     var proid = $(this).val().pop().split(":"); 
     ...
});

但是如果用户使用ctrl或shift键选择多个项目(当你设置多个属性时),你只能获得列表中最低或最顶层的选择值而没有逻辑复杂性

http://jsfiddle.net/kzpFA/12/

答案 1 :(得分:1)

需要更新jQuery代码并选择html代码。

jQuery更新代码:

$('#selectbox').on('change', function (e) {
var optionSelected = $("option:selected", this);
var valueSelected = this.value;
var proid = valueSelected.split(":");
$("#searchInput").val(proid[0]);
});

Html更新代码:

<select name="" id="selectbox" multiple="multiple">
<option value="ankit:naredi">ankit:naredi</option>
<option value="suyog:ma dle">suyog:ma dle</option>
<option value="sushil:tade">sushil:tade</option>
<option value="">dipen tiwari: kumar</option>
<option value="">suyog: sarang</option>
<option value="">sushil</option>
<option value="">suyog</option>
<option value="">sushil</option>
<option value="">suyog</option>
<option value="">sushil</option>
</select>

需要将选项值放在jQuery之上。 http://jsfiddle.net/kzpFA/9/

答案 2 :(得分:1)

您有多选下拉列表并绑定选项click事件:这不正确

为此你可以尝试绑定下拉onchange事件来执行此操作(因为它是一个html元素事件,它适用于所有浏览器):

HTML-

 <input id="searchInput">    
 <select name="" id="selectbox" multiple="multiple" onchange="getset();">
     <option value="">ankit:naredi</option>
     <option value="">suyog:ma dle</option>
     <option value="">sushil:tade</option>
     <option value="">dipen tiwari: kumar</option>
     <option value="">suyog: sarang</option>
     <option value="">sushil</option>
     <option value="">suyog</option>
     <option value="">sushil</option>
     <option value="">suyog</option>
     <option value="">sushil</option>  
 </select>

Javascript -

function getset(){
    var proid = $('#selectbox option:selected').text().split(":");
     $("#searchInput").val(proid[0]);    
}

Try This