0

ポストバックを介してこれを達成していますが、サーバーで遅延が発生しているため、クライアント側でこれを処理したいと考えています。別のコンボボックスのクライアント側イベントで1つのコンボボックスを無効にする方法を教えてもらえますか?

私はこれまでに行ってきました:

function Enable() {
         alert("gfugsdugfsduigf");
         var ddl3 = document.getElementById("Cmbx1");
         var ddlValue3 = ddl3.options[ddl3.selectedIndex].value;
         if (ddlValue3 == "1") {
             document.getElementById('<%=Cmbx2.ClientID%>').disabled = false;
        }
        else {
            document.getElementById('<%=Cmbx2.ClientID%>').disabled = true;
        }

     }

ページの読み込みで私は書いています:

Cmbx1.Attributes.Add("onChange", "Enable();");

しかし、成功しません。デバッグすると、コントロールでさえ機能しません。

4

1 に答える 1

0

このようなものかもしれません...?

function pageLoad() // automatically called (and necessary to use when working with comboboxes)
{
        // add change event to cmbx1
        $find("<%=cmbx1.ClientID%>").add_propertyChanged(
                function (sender, e) {
                        if (e.get_propertyName() == 'selectedIndex') {
                                cmbx1_onChange();
                 }
        });
}

function cmbx1_onChange()
{
        // get selected value of box 1
        var cmbx1Value = $find("<%=cmbx1.ClientID%>").get_textBoxControl().value;

        // enable box 2 if selected value of box 1 is 1, else disable
        $find("<%=cmbx2.ClientID%>").get_textBoxControl().disabled = cmbx1Value != 1;
        $find("<%=cmbx2.ClientID%>").get_buttonControl() .disabled = cmbx1Value != 1;
}

すべてのインデントが削除されていないことを除いて

于 2013-02-25T17:23:13.497 に答える