4

我想禁用除单击之外的所有按钮,我正在使用 jquery。请帮忙。已解决:删除 '.not()' 中的 :input。

HTML

<div id="buttongroup">
    <ul>
        <li>
            <input type="button" id="butDes" class="butFiltro" value="Descripción" />
        </li>
        <li>
            <input type="button" id="butMaq" class="butFiltro" value="Máquina" />
        </li>
        <li>
            <input type="button" id="butDen" class="butFiltro" value="Denominación" />
        </li>
        <li>
            <input type="button" id="butFecEd" class="butFiltro" value="Fecha edición" />
        </li>
        <li>
            <input type="button" id="butFecCie" class="butFiltro" value="Fecha cierre" />
        </li>
        <li>
            <input type="button" id="butOpe" class="butFiltro" value="Operario" />
        </li>
        <li>
            <input type="button" id="butNue" class="butFiltro" value="Nuevo" />
        </li>
    </ul>
</div>
</div>

JAVASCRIPT

$('input[type=button]').click(function(){
//$('.butFiltro').click(function(){

    var getValueButton = this.id;
    alert(getValueButton);
    $(':input').not('#'+getValueButton).attr('disabled', true);

});
4

3 回答 3

6

更改var getValueButton = $(this).id;var getValueButton = this.id

也使用.prop代替attr,

var $inputBtns = $('input[type=button]');

$inputBtns.click(function(){
    var getValueButton = this.id;
    $inputBtns.not('#'+getValueButton).prop('disabled', true);
});
于 2013-05-22T19:29:24.710 回答
3

你应该使用this.prop ()是设置 disabled 属性的正确方法,因为 jQuery 1.6+

$('input[type=button]').click(function(){
    $('input[type=button]').not(this).prop('disabled',true);
});
于 2013-05-22T19:32:55.920 回答
2
$('input[type=button]').click(function () {
    var getValueButton = this.id;  // $(this).id; is not correct
    $(':input').not('#' + getValueButton).prop('disabled', true);
});

小提琴演示

更新

这是更简单的方法:

var $inputs = $('input[type=button]');
$inputs.click(function () {
    $inputs.not(this).prop('disabled', true);
});

小提琴演示

于 2013-05-22T19:29:57.143 回答