2012-07-31 77 views
0

我有两个select框。其中一个城市名单,第二个城市名单。当我从第二个框中的第一个select框中选择(单击)城市时,我会看到选定城市的区域。这完美地工作,但是当城市被另一个脚本自动选中时,区域列表不会显示 - 我必须从列表中手动选择城市,然后出现区域列表。jQuery选择框没有显示,如果没有通过点击选择

这里是我的脚本:

$.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'), 
}; 

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

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

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

谁能帮助?

+0

你的意思是一个城市是由一个服务器端脚本设置,或者通过其他的JavaScript脚本? – Utkanos 2012-07-31 11:47:28

+0

JavaScript - 计算功能 – Adrian 2012-07-31 11:48:21

+0

那么我无法想象它为什么不起作用,因为这仍然会触发'change'事件。这不是火吗?提醒一下,找出答案。你能设置一个小提琴吗? – Utkanos 2012-07-31 11:49:18

回答

1

试试这个(见DEMO [在JS结束])

$('#get_car option:eq(2)').attr('selected', 'selected'); 
$('#get_car').trigger('change'); 
+0

不幸的是,这段代码没有工作 – Adrian 2012-07-31 12:00:40

+0

这个突破整个脚本 – Adrian 2012-07-31 12:07:10

+0

scritp应该显示在同一个列表下与克拉科夫区的城市2。 它是如何工作的。如果总日数小于3,则字段City1的值将自动传输到City2中。在每个城市下都应该显示地区列表。但是,如果将值从City1复制到city2,则不会显示区域列表 – Adrian 2012-07-31 12:12:52