Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/75.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 下拉列表选择在internet explorer中无法正常工作_Javascript_Jquery - Fatal编程技术网

Javascript 下拉列表选择在internet explorer中无法正常工作

Javascript 下拉列表选择在internet explorer中无法正常工作,javascript,jquery,Javascript,Jquery,我有各种各样的下拉列表,在某种程度上,如果我们选择第一个项目,就不应该在第二个下拉列表中显示,因为我编写了类似jquery的东西 $(document).ready(function() { $('.ddlProjectvalue').change(function() { updateDDLValues(); }); }); function updateDDLValues() { // Display all $('.ddlPr

我有各种各样的下拉列表,在某种程度上,如果我们选择第一个项目,就不应该在第二个下拉列表中显示,因为我编写了类似jquery的东西

$(document).ready(function() {
    $('.ddlProjectvalue').change(function() {
        updateDDLValues();       
    });
});

function updateDDLValues() {
    // Display all
    $('.ddlProjectvalue option').show();
    // Hide all selected options from other selectlists
    $('.ddlProjectvalue').each(function(i,element) {
        var selectedvalue = $(element).find('option:selected').val();
        $('.ddlProjectvalue').not(element).find('option[value="'+selectedvalue+'"]').hide();
    });    
}

正如您所看到的,它在chrome和firefox中工作正常,但在InternetExplorer中不工作,问题是什么

似乎大多数浏览器都不允许隐藏文件。我认为最好的办法是完全删除。

我发现了问题,
$(元素)。find('option:selected')。val()
这行元素在IE中是未定义的,而在chrome中是正确的值。

这项功能对我来说只适用于Internet Explorer

function updateDDLValues() {
// Display all
$('.ddlProjectvalue span option').unwrap();
   // Hide all selected options from other selectlists
    $('.ddlProjectvalue').each(function (i, element) {
    var selectedvalue = $(element).find('option:selected').val();
    $('.ddlProjectvalue').not(element).find('option[value="' + selectedvalue + '"]').wrap('<span style="display: none;">');
});
}
函数updateDDLValues(){
//全部显示
$('.ddlProjectvalue span选项').unwrap();
//从其他选择列表中隐藏所有选定选项
$('.ddlProjectvalue')。每个(函数(i,元素){
var selectedvalue=$(元素).find('option:selected').val();
$('.ddlProjectvalue').not(element).find('option[value=“'+selectedvalue+''”).wrap('');
});
}

函数updateDDLValues(){
$('.ddlProjectvalue span选项').unwrap().show();
//从其他选择列表中隐藏所有选定选项
$('.ddlProjectvalue')。每个(函数(i,元素){
var selectedvalue=$(元素).find('option:selected').val();
$('.ddlProjectvalue').not(元素).find('option[value=“'+selectedvalue+'''']]).wrap(''.hide();
});
}

如果我们想使用IE以外的代码,我们可以使用IE不支持的上述代码(在我的问题中)。

您使用的是哪个版本的IE?啊。。。也不在chrome中工作。。。(Mavericks,V34)它可以在firefox上运行,但不可以在Safari上运行。有没有与相同的过程相同的替代选项?有没有替代选项?另一个选项(更好的IMHO)是重建所有下拉列表的整个选项列表,除了更改的下拉列表。是的,它应该是$(element).val()解决方案??我们怎样才能修复它?
function updateDDLValues() {
$('.ddlProjectvalue span option').unwrap().show();
 // Hide all selected options from other selectlists
  $('.ddlProjectvalue').each(function (i, element) {
   var selectedvalue = $(element).find('option:selected').val();
   $('.ddlProjectvalue').not(element).find('option[value="' + selectedvalue + '"]').wrap('<span>').hide();
                });
}