0

我有下面的代码形式,我无权访问,也无法编写任何代码。但是在我的网页中,我创建了另一种形式,我可以在其中编写一些脚本。

我的要求:我有一个下拉列表,并且在从中选择值时,我需要更改另一个下拉字段的值,该下拉字段位于不同的下拉列表中。我尝试了以下脚本但无法正常工作。

感谢您对此的任何帮助。编码不是我的职业,但我愿意学习。

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>

在此先感谢,纳文

4

1 回答 1

0

脚本标签在它出现在 HTML 中的那一刻被浏览器处理,代码在那一刻被执行。要推迟执行,您应该将编写的代码绑定到稍后的事件,例如页面加载:

$(document).ready(doStuff);

此外,每次更改第一个元素时,似乎都需要调用您的函数。所以你也需要绑定它来改变这个元素的事件。

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

将这两行放在脚本的末尾。

首先,最简单的解决方案是使用updateEverythingjavascript 函数来计算所有依赖项并修改页面上所有必要的元素,以确保一切正确。并且您在页面加载和更改跟踪的依赖项中涉及的任何元素时调用此函数。

于 2012-07-22T18:30:58.607 回答