可以禁用选择框但不能选择具有类似代码的第​​一个子项

时间:2012-01-09 03:18:20

标签: jquery jquery-selectors

我有一个组合框,当用户点击复选框时我会禁用它:

$(this).parent().next('td').children('.xyz').attr("disabled", true);

我还想重置相同的组合框以显示列表中的第一个值,使用:

$(this).parent().next('td').children('.xyz option:first-child').attr("selected", "selected");

不幸的是,这似乎不起作用,我做错了什么?

1 个答案:

答案 0 :(得分:1)

使用JavaScript进行选择有点不同。从this discussion

开始使用此插件会更容易
/**
 * Select/deselect any matching checkboxes, radio buttons or option elements.
 */
$.fn.selected = function(select) {
    if (select == undefined) select = true;
    return this.each(function() {
        var t = this.type;
        if (t == 'checkbox' || t == 'radio')
            this.checked = select;
        else if (this.tagName.toLowerCase() == 'option') {
            var $sel = $(this).parent('select');
            if (select && $sel[0] && $sel[0].type == 'select-one') {
                // deselect all other options
                $sel.find('option').selected(false);
            }
            this.selected = select;
        }
    });
};

$(this).parent().next('td').children('.xyz option:first-child').selected(true);