1

我有以下内容:

<select name="CityID" id="CityID">
  <option value="99">Select City</option>
  <option value="01H">AAA</option>
   <option value="01I">BBB</option>
</select>

一旦单击 select 以选择一个选项,我想删除第一行 option value="99"

我可以用 jQuery 做到这一点吗?我想我可以用这个.changed()事件来做到这一点,但是还有其他事件可以让用户点击之前的选择.changed()吗?

4

2 回答 2

4
$('select[name="CityID"]').focus(function() {
    $('option[value="99"]:first', this).remove();
});
于 2012-05-07T01:31:21.600 回答
1

布莱恩的答案是正确的;但这里有一个可能与每个浏览器都不兼容的替代方案:

<select name="CityID" id="CityID" required>
  <option value="" disabled selected >Select City</option>
  <option value="01H">AAA</option>
   <option value="01I">BBB</option>
</select>

http://jsfiddle.net/ApeHg/2/

select 元素上的requiredhtml5,但它强制用户在提交表单之前选择一个元素(您也可以为旧浏览器重新创建此行为)

disabled selected一个元素上的属性试图模拟您正在寻找的行为,这是一个不可选择的默认值。

于 2012-05-07T03:21:45.377 回答