jquery:我正在尝试禁用除了单击按钮之外的所有按钮而不工作

时间:2013-05-22 19:26:49

标签: jquery html

我想禁用除了点击之外的所有按钮,我正在使用jquery。请帮忙。 求助:删除:输入'.not()'。

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);

});

3 个答案:

答案 0 :(得分: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);
});

答案 1 :(得分:2)

$('input[type=button]').click(function () {
    var getValueButton = this.id;  // $(this).id; is not correct
    $(':input').not('#' + getValueButton).prop('disabled', true);
});

FIDDLE DEMO

<强>更新

这是更简单的方法:

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

FIDDLE DEMO

答案 2 :(得分:2)

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

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