0

以下のコードは、アクセスできず、コードを記述できない形式であります。しかし、私のWebページでは、スクリプトを記述できる別のフォームを作成しました。

私の要件:ドロップダウンがあり、これから値を選択するときに、別のドロップダウンにある別のドロップダウンフィールドの値を変更する必要があります。以下のスクリプトを試しましたが、機能しませんでした。

これに関する助けに感謝します。コーディングは私の職業ではありませんが、学びたいと思っています。

enter code here

<script type="text/javascript">// <![CDATA[
function doStuff() {
alert($('#donation_campaign').val());
$('#PC1184$ddlDesignations').html($('#donation_campaign').val());
}
// ]]></script>
<h1>Thank you for support</h1>
<p>&nbsp;</p>
<p><label>Select your supporting chapter</label> <select id="donation_campaign"     name="donation[campaign]" onchange=" doStuff()"><option value="Corpus Fund">DC Metro</option><option value="8">Boston</option><option value="13">AZ</option><option value="24">Austin</option><option value="13">JDU</option><option selected="selected" value="13">Common Pool</option></select></p>

アクセスできないフォームコード:**

<tr id="PC1184_trDesignation">
            <td class="BBFieldCaption DonationFieldCaption     DonationFieldDropDownCaption">
            <label for="PC1184_ddlDesignations" id="PC1184_lblDesignationCaption">Designation:</label>
        </td>
        <td colspan="2" class="BBFieldControlCell DonationFieldControlCell">
            <select name="PC1184$ddlDesignations"    id="PC1184_ddlDesignations" class="BBFormSelectList DonationSelectList">
            <option selected="selected" value="8">General Unrestricted Fund</option>
            <option value="13">Corpus Fund</option>
            <option value="24">Education Fund</option>

        </select>               
        </td>
    </tr>

よろしくお願いします、Naveen

4

1 に答える 1

0

スクリプトタグは、HTMLに表示された時点でブラウザによって処理され、コードはその時点で実行されます。実行を延期するには、ページの読み込みなど、作成したコードを後のイベントにバインドする必要があります。

$(document).ready(doStuff);

また、最初の要素が変更されるたびに関数を呼び出す必要があるようです。したがって、この要素のイベントも変更するには、それをバインドする必要があります。

$('#donation_campaign').change(doStuff);

スクリプトの最後にこれらの2行を配置します。

最初に、最も簡単な解決策は、updateEverythingすべての依存関係を計算し、ページ上のすべての必要な要素を変更して、すべてが正しいことを確認するjavascript関数を使用することです。また、この関数は、ページの読み込み時、および追跡される依存関係に関係する要素の変更時に呼び出します。

于 2012-07-22T18:30:58.607 に答える