2

代码在下面和http://jsfiddle.net/eCubeH/utBEs/1/

选择是必需的。因此,选择第一个空字符串值选项应该使其无效。

我使用 jquery 条件: ($(myChangeSelector + ":invalid").length > 0) 来识别无效状态。Firefox 15 正确返回值 1 以表明它是无效的。Chrome 21 返回 0,然后继续表现不一致。

对此我感到头疼,这是 Chrome 错误还是我缺少的东西?

- - - 编码 - - -

<select id="selDisbLocation" required="" tabindex="3">
    <option value="" >-</option>
    <option value="0" selected>Center</option>
    <option value="1" >Office</option>
</select>​

$(function() {
    $("select").live(
    "change",
    function(event) {
       myChangeSelector = "#" + event.target.id;
       alert(myChangeSelector);
       alert($(myChangeSelector).val());
       alert("Invalid Length: " + $(myChangeSelector + ":invalid").length);
    });
});

​</p>

4

1 回答 1

0

根据https://developer.mozilla.org/en-US/docs/CSS/:invalid,CSS 伪类:invalid仅适用于<input><form>元素。这可能是您意外结果的原因。

我建议<select>改为使按值或索引无效。

于 2012-10-09T12:49:55.523 回答