Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery在ie7/8中单击不使用选择选项_Javascript_Jquery_Jquery Ui - Fatal编程技术网

Javascript jQuery在ie7/8中单击不使用选择选项

Javascript jQuery在ie7/8中单击不使用选择选项,javascript,jquery,jquery-ui,Javascript,Jquery,Jquery Ui,我正在使用jquery1.7.1。以下代码将附加一个附加选项添加到“我的选择”菜单,该菜单将附加一个.click事件。这段代码在firefox/ie9中运行得非常好,但在ie7/8中单击AddNew选项时出现以下错误。我也尝试过精选活动,但没有任何运气。有人知道如何在ie7/8等传统浏览器中实现这一点吗 $("select").append($('<option></option>').text("Add New Option").click(function(){

我正在使用jquery1.7.1。以下代码将附加一个附加选项添加到“我的选择”菜单,该菜单将附加一个.click事件。这段代码在firefox/ie9中运行得非常好,但在ie7/8中单击AddNew选项时出现以下错误。我也尝试过精选活动,但没有任何运气。有人知道如何在ie7/8等传统浏览器中实现这一点吗

$("select").append($('<option></option>').text("Add New Option").click(function(){
    alert("test");
}));   
$(“选择”)。追加($('')。文本(“添加新选项”)。单击(函数(){
警报(“测试”);
}));   
JS错误 SCRIPT5022:语法错误,无法识别的表达式:# jquery-1.7.1.js,第4179行字符2

JS小提琴示例

试试看

.on("click", function() {
    alert("test");
}));
而不是:

.click(function() {
    alert("test");
}));
看看效果如何?

试试看

.on("click", function() {
    alert("test");
}));
而不是:

.click(function() {
    alert("test");
}));

看看这是否有效?

您应该使用onchange事件。 请尝试以下方法:

$("select").append($('<option></option>').text("Add New Option")).change(function(){
    alert("test");
}));   
$(“选择”).append($('').text(“添加新选项”).change(函数(){
警报(“测试”);
}));   

相关:

您应该使用onchange事件。 请尝试以下方法:

$("select").append($('<option></option>').text("Add New Option")).change(function(){
    alert("test");
}));   
$(“选择”).append($('').text(“添加新选项”).change(函数(){
警报(“测试”);
}));   

相关:

不要将单击事件附加到选项,只需订阅“选择”菜单上的更改事件,并检查它是否是您添加的项目?我已将您的新项目的值设置为0,以便在更改中识别它

$("select").append($('<option></option').text("Add New Option").val(0));

$("select").change(function () {
    if $("select option:selected").val() == 0) {
        alert("test");
    } 
});

$(“选择”)。附加($(“不要将单击事件附加到选项,只需订阅“选择”上的更改事件,并检查它是否是您添加的项目?我已将新项目的值设置为0,以便在更改中识别它

$("select").append($('<option></option').text("Add New Option").val(0));

$("select").change(function () {
    if $("select option:selected").val() == 0) {
        alert("test");
    } 
});

$(“select”).append($('对于ie7/8使用javascript:

选项1

对于ie7/8,请使用javascript:

选项1

为什么您需要一个
onclick
处理程序来处理
选项
。取而代之的是在select上有一个
onchange
处理程序,或者如果您需要在单击时处理,请在select上使用
click
处理程序。我只需要在选择了addnew选项时处理click事件。如下所述,onchange在此cas中不起作用e、 我刚刚在JSFIDLE中用onClick测试了代码,它似乎工作得很好。我不确定为什么它在我的应用程序中还不能工作。为什么你需要一个
onClick
处理程序来处理
选项
。相反,在select上有一个
onchange
处理程序,或者如果你需要点击处理,在select上使用
点击
处理程序。我需要仅当选择了添加新选项时才处理单击事件。如下所述,onChange在这种情况下不起作用。我刚刚在JSFIDLE中使用onClick测试了代码,它似乎工作正常。我不确定为什么它在我的应用程序中还不起作用。Live在1.7中不推荐使用on:)正如@MattyMo所说,Live在jQuery 1.7.1中被替换,请使用“on”@Iro:)我也有这个问题。Live在1.7:)中被弃用为on。正如@mattytommo所说,Live在jQuery 1.7.1中被替换,请使用“on”@Iro:)我也遇到了这个问题。你正在将更改事件附加到新选项而不是选择?@George你是否尝试使用下面的我的答案?你正在将更改事件附加到新选项而不是选择?@George你是否尝试使用下面的我的答案?刚刚尝试了这段代码,它在旧ie浏览器中工作,但它会提醒所有更改。不过,我可以很容易地修复它。很酷,只要查询.val()中的内容,它可能是一个字符串,因此可以对其进行parseInt或check==“0”:)刚刚尝试了这段代码,它在旧式ie浏览器中确实有效,但它会对所有更改发出警报。不过我可以很容易地修复它。很酷,只需查询.val()中的内容,它可能是一个字符串,因此可以对其进行parseInt或check==“0”: