【问题标题】:jQuery Select box didn't show if no selected by click如果单击未选择,则不显示 jQuery 选择框
【发布时间】:2012-08-01 00:34:56
【问题描述】:

我有两个select 盒子。一个带有城市列表,第二个带有城市区。当我从第二个框中的第一个 select 框中选择(通过单击)城市时,我会看到所选城市的地区。效果很好,但是当另一个脚本自动选择城市时,地区列表不显示 - 我必须从列表中手动选择城市,然后出现地区列表。

这是我的脚本:

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

有人可以帮忙吗?

【问题讨论】:

  • 你的意思是一个城市是由服务器端脚本设置的,还是由另一个 JavaScript 脚本设置的?
  • 通过 JavaScript - 计算函数
  • 那么我无法想象为什么它不起作用,因为它仍然会触发change 事件。这不火吗?发出警报以找出答案。你能设置一个 Fiddle 吗?
  • 我会尝试将它放入 Fiddle

标签: javascript jquery html


【解决方案1】:

试试这个(见DEMO[在js末尾])

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

【讨论】:

  • 脚本应该在 city2 下显示与克拉科夫区相同的列表。这个怎么运作。如果总天数小于 3,City1 字段的值会自动传输到 City2。在每个城市下应显示区列表。但是,如果将值从 City1 复制到 city2,则不会显示 Districts 列表
猜你喜欢
  • 2013-02-02
  • 2013-12-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-08-16
  • 1970-01-01
  • 2012-07-31
  • 1970-01-01
相关资源
最近更新 更多