Chrome下拉列表问题

时间:2011-02-07 09:46:59

标签: javascript jquery html google-chrome

我的Chrome存在问题。我有一个下拉列表。除了Chrome,它运作良好。但是对于chrome,它首先添加一个空元素。

HTML部分:

<head>   
<script type="text/javascript">       
  $(document).ready(function() {
  townDistrictObject.bind({cityId:1});
});
</script>
</head>
    <body>               
        <div class="left marginleft15">
            <p>Town</p>
            <p>
                <select name="town1" id="townId" style="width: 152px;">
                    <option selected="selected" value="999999999">Whole Istanbul</option>
                    <option value="999999998">Anatolian Part</option>
                </select>
            </p>
        </div>
        <div class="left marginleft15">
            <p>District</p>
            <p>
                <select id="districtId" name="districtid1" style="width: 174px;" >
                    <option selected="selected" value="0">Whole Districts</option>
                </select>
            </p>
        </div>
    </body>

脚本方面有类似的东西:

var townDistrictObject = {
   defaults : {
      cityId :1, 
      townElementId : "townId",
      districtElementId : "districtId",
      allDistricts: true
},

bind : function(options) {
  $.extend(this.defaults, options);
  var that = this;
  var opts = this.defaults;
  var townElement = $('#' + opts.townElementId);
  townElement.val(0);           
 }
};

问题说明:

首先,列表顶部有一个空元素。(不应该!)

enter image description here

其次,我会点击其中一个。(“整个伊斯坦布尔”为我的例子。)

enter image description here

最后,我检查列表,顶部的元素消失。那段时间之后一切都还可以。

enter image description here

PS:我检查了代码,我认为问题与脚本方面有关。谢谢你的帮助。

2 个答案:

答案 0 :(得分:2)

可能是你在做:

townElement.val(0); 

当没有此值的选项时,您将下拉值设置为零。如果您使用默认值中的值,而不是零?

答案 1 :(得分:0)

问题是在此行设置了错误的ID:

townElement.val(0);

Jquery用以下代码替换它的答案:

townElement.get(0).selectedIndex = 0;