gpt4 book ai didi

javascript - IE 中选择列表的 jQuery 代码不起作用

转载 作者:行者123 更新时间:2023-11-28 02:46:13 25 4
gpt4 key购买 nike

我有问题 select IE 中的列表(所有版本)。我有两个字段,方向取决于 City1 和 City2 字段。当我在方向字段中从 City1 中选择 City 时,应该只显示 4 个方向。同样,在 City2 字段中。在 Firefox、Chrom、Opera 中一切正常,但在 IE 中却没有 - 我看到了整个方向列表。

在我看来 - 这段代码有问题,但我不知道是什么:

    if (parseInt($("#finish_day").val()) < 4) {
$('#return_car').children('#return_car option[value=' + $('#get_car').val() + ']').attr('selected', 'selected').siblings().attr('disabled', true);
if ($('#return_car').val()) $('#return_car').change();
} else {
$('#get_car > option, #return_car > option').prop('disabled', false);
});
}

工作代码在这里: http://jsfiddle.net/utXMD/

感谢您提供任何帮助的建议。

最佳答案

删除 $.viewMap_get 和 $.viewMap_return 对象中最后一个值之后的逗号:

$.viewMap_get = {
'0' : $([]),
'Katowice' : $('#c1a, #c1b, #c6, #c7'),
'Kraków' : $('#c2a, #c2b, #c6, #c7'),
'Warszawa' : $('#c3a, #c3b, #c6, #c7'),
'Wrocław' : $('#c4a, #c4b, #c6, #c7'),
'Gdańsk' : $('#c5a, #c5b, #c6, #c7')
};



$.viewMap_return = {
'0' : $([]),
'Katowice' : $('#d1a, #d1b, #d7'),
'Kraków' : $('#d2a, #d2b, #d7'),
'Warszawa' : $('#d3a, #d3b, #d7'),
'Wrocław' : $('#d4a, #d4b,, #d7'),
'Gdańsk' : $('#d5a, #d5b, #d7')
};

IE7 和 IE8 的 JS 对象值存在问题,以尾随“,”结尾。

更新:

试试下面的代码:


$(function() {

$( "#date_from, #date_to" ).datepicker({
defaultDate: "+1d",
minDate: "+1d",
changeMonth: true,
changeYear: true,
dateFormat: "dd/mm/yy",
monthNamesShort: ["Sty","Lut","Mar","Kwi","Maj","Cze","Lip","Sie","Wrz","Paz","Lis","Gru"],
dayNamesMin: ["Nie", "Pon", "Wt", "Sr", "Czw", "Pt", "Sob"],
numberOfMonths: 1,
onSelect: function( selectedDate ) {
if(this.id == 'date_from'){
var dateMin = $('#date_from').datepicker("getDate");
var dateMax = $('#date_to').datepicker('getDate');
var rent_date_from = new Date(dateMin.getFullYear(), dateMin.getMonth(),dateMin.getDate() + 1);
var rent_date_to = new Date(dateMin.getFullYear(), dateMin.getMonth(),dateMin.getDate() + 29);
$('#date_to').datepicker("option","minDate",rent_date_from);
$('#date_to').datepicker("option","maxDate",rent_date_to);
}
compute(); //Add compute
}

});

$.viewMap_get = {
'0' : $([]),
'Katowice' : $('#c1a, #c1b, #c6, #c7'),
'Kraków' : $('#c2a, #c2b, #c6, #c7'),
'Warszawa' : $('#c3a, #c3b, #c6, #c7'),
'Wroclaw' : $('#c4a, #c4b, #c6, #c7'),
'Gdansk' : $('#c5a, #c5b, #c6, #c7')
};

$.each($.viewMap_get, function() { $(this).remove(); });
$('#get_city_district').hide();

$('#get_car').on('change', function() {
// hide all
$.each($.viewMap_get, function() { $(this).remove(); });
$('#get_city_district').hide();
// show current
$('#get_city_district').append($.viewMap_get[$(this).val()]).show();

var id = $.viewMap_get[$(this).val()].attr("id");
$('#'+id).attr('selected', 'selected');
});

$.viewMap_return = {
'0' : $([]),
'Katowice' : $('#d1a, #d1b, #d7'),
'Kraków' : $('#d2a, #d2b, #d7'),
'Warszawa' : $('#d3a, #d3b, #d7'),
'Wroclaw' : $('#d4a, #d4b,, #d7'),
'Gdansk' : $('#d5a, #d5b, #d7')
};

$.each($.viewMap_return, function() { $(this).remove(); });
$('#return_city_district').hide();

$('#return_car').on('change', function() {

$.each($.viewMap_return, function() { $(this).remove(); });
$('#return_city_district').hide();
// show current
$.viewMap_return[$(this).val()].show();
$('#return_city_district').append($.viewMap_return[$(this).val()]).show();

var id = $.viewMap_return[$(this).val()].attr("id");
$('#'+id).attr('selected', 'selected');
});

function compute() {
var c = $('select#time_from_hour').val();
var d = $('select#time_from_minute').val();
var e = $('select#time_to_hour').val();
var f = $('select#time_to_minute').val();
var g = $('input#date_from').val();
var h = $('input#date_to').val();
date1= g.split("/");
var timestamp = (new Date(date1[2],date1[1],date1[0],c,d).getTime()/1000) + 7200;
$('#total_hour1').val(timestamp);

date2= h.split("/");
var timestamp = (new Date(date2[2],date2[1],date2[0],e,f).getTime()/1000) + 7200;
$('#total_hour2').val(timestamp);

var x = -$('input#total_hour1').val();
var y = -$('input#total_hour2').val();
var total_time = x - y;
result = total_time / 86400;
new_number = Math.ceil(result);

if(isNaN(new_number)) {
var new_number = 0;
}
$('#finish_day').val(new_number);

if( parseInt($("#finish_day").val()) < 4 ) {
$('#return_car').children('#return_car option[value=' + $('#get_car').val() + ']').attr('selected', true).siblings().attr('disabled', true);

if ($('#return_car').val()) $('#return_car').change();
}
else {
$('#get_car > option, #return_car > option').prop('disabled', false);
$('#three_day').hide(2000, function () {
$(this).remove();
});
}

}


$('select#time_from_hour').change(compute);
$('select#time_from_minute').change(compute);
$('select#time_to_hour').change(compute);
$('select#time_to_minute').change(compute);
// $('select#return_car').change(compute);
$('select#get_car').change(compute);
$('input#finish_day').change(compute);

});

关于javascript - IE 中选择列表的 jQuery 代码不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11829208/

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