2012-07-31 65 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