0

リンクボタンがクリックされたときのラベルの背景色を設定するためにJavaScriptを使用しようとしています。
ただし、背景は目的の色で点滅してから、背景なしにフォールバックします。以下に、javascript関数と問題のコントロールがあります。
display ='none'、display =''で強制的に再描画しようとしましたが、役に立ちませんでした。
また、ラベルを標準コントロールにして、サーバーで実行されないようにしました。
また、スタイルが設定され、LightGreenが呼び出される両方の領域に区切りを付けましたが、空白は呼び出されません。他の場所で指定されていないため、背景が空白になっている場所がわかりません。
ありがとう、ジェームズ

ラベル

<asp:Label runat="server" Font-Bold="true" id="lblCustomer">Customer:</asp:Label>

Javascript

function CheckUncheckAll(clientID, listID, check) {
        var chk = clientID.getElementsByTagName("input");
        for (var i = 0; i < chk.length; i++) {
            chk[i].checked = check;
        }
        if (check) {
            document.getElementById(listID.id).style.backgroundColor = "LightGreen";
        }
        else {
            document.getElementById(listID.id).style.backgroundColor = "";
        }
    }

背後にあるコード

lbCustomerAll.Attributes.Add("onclick", "CheckUncheckAll(" + ckbxlstCustomer.ClientID + ", " + lblCustomer.ClientID + ", true)");
4

3 に答える 3

0

次のようなことをするとどうなりますか?

function CheckUncheckAll(clientID, listID, check) {
        var evt = document.getElementById(clientID);
        evt.preventDefault();

        var chk = clientID.getElementsByTagName("input");
        for (var i = 0; i < chk.length; i++) {
            chk[i].checked = check;
        }
        if (check) {
            document.getElementById(listID.id).style.backgroundColor = "LightGreen";
        }
        else {
            document.getElementById(listID.id).style.backgroundColor = "";
        }
    }

これにより、リンクボタンのデフォルトの動作が実行されなくなります。

于 2012-08-27T21:13:43.720 に答える
0

checkedはtrue/false値ではなく、バイナリ属性です。

element.checked = true; //will fail
element.checked ='checked'; //will work

渡される「check」の値がtrue/falseの場合、コードは機能しません。

PSjQueryを学ぶ価値があります。これらすべてを1行のコードで実行できます。

于 2012-08-27T21:13:57.703 に答える
0

同じ問題が発生しました。偶然にも、問題はButtonタグとonclick関数の関連付けにあることに気づきました。

ボタンを、などの他のボタンにh1変更したり、関数をに変更したりすると、機能しonmouseoverます。しかし、その理由はわかりません。

于 2012-10-06T19:09:20.900 に答える