0

私はコードを書きました:

$('.Edit').live('click', function() {
    if ($(this).text().valueOf()=="Save"){
        alert('sauvegarder..');
        var id = $(this).attr("id");
        $(".d"+id).prop('enabled', false);
        $(".d"+id).css("background-color","#FFF");
        $(".d"+id).css("border-color","black");
        $(this).text('Save').button("refresh");
    } else if($(this).text().valueOf()=="Edit") {
        alert('editer..');
        var id = $(this).attr("id");
        $(".d"+id).prop('disabled', false);
        $(".d"+id).css("background-color","#FFF");
        $(".d"+id).css("border-color","red");
        $(this).text('Save').button("refresh");
    }
}

そして、この機能があります:ボタンは通常「編集」モードになっています。すべての入力要素をクリックすると有効になり、それらに何かを書き込むことができ、同時にボタン名が「保存」に変わります。[保存] をクリックすると、入力が無効になり、それらに書き込むことができなくなります。しかし、このコードを実行すると、すべてが同時に行われるため、2 つのアラートが発生し、入力が有効なままになります。ある種のトグル効果が欲しいのですが、それが可能かどうか知りたかったのです。

4

3 に答える 3

0

無効なプロパティを変更するために、このようなコードを試すこともできます。

... $("。d"+ id).attr('disabled'、'disabled')。css(...)...。

于 2012-08-08T12:41:24.187 に答える
0
$('.Edit').live('click', function() {
    var el = $(this);   
        var r = $(".d"+el.attr("id"));
        if (el.hasClass('editMode')){
        el.removeClass('editMode');
                alert('sauvegarder..');
        r.attr("disabled", "disabled").css({
                    "background-color":"#FFF",
                    "border-color":"black"
                });
        el.text('Save').button("refresh");
    } else {
        el.addClass('editMode');
                alert('editer..');
        r.removeAttr("disabled").css({
                    "background-color","#FFF",
                    "border-color","red"
                });
        el.text('Save').button("refresh");
    }
}
于 2012-08-08T12:45:14.097 に答える
0

私はenabled財産とは何かを取得していません。また、イベントを連鎖またはキャッシュすることもできます。

$('.Edit').on('click','.Edit', function() {
    if ($(this).text().valueOf()=="Save"){
        alert('sauvegarder..');
        var id = $(this).attr("id");
        $(".d"+id).prop('disabled', true)
                  .css({"background-color":"#FFF", "border-color":"black"});
        $(this).text('Save').button("refresh");
    } else if($(this).text().valueOf()=="Edit") {
        alert('editer..');
        var id = $(this).attr("id");
        $(".d"+id).prop('disabled', false)
                  .css({"background-color":"#FFF", "border-color":"red"});
        $(this).text('Save').button("refresh");
    }
}​);​
于 2012-08-08T12:33:17.170 に答える