我看过关于这个主题的类似帖子,但是没有一个推荐的解决方案对我有效,所以我不确定我哪里出错了。我有一个账单和送货地址表单与下拉列表的状态。在勾选/取消勾选"账单地址与运输相同"之后,除了州下拉列表之外,所有内容都会复制过来。状态下拉列表是从SQLDataSource状态表中填充的。
下面是我的代码:
<script type="text/javascript" language="javascript" src="../Scripts/jquery-1.4.1.min.js"></script>
<script type="text/javascript">
$(document).ready(function () {
$('input:checkbox[id*=chkCopy]').change(function () {
if ($(this).is(':checked')) {
$('input:text[id*=TextBox5]').val($('input:text[id*=TextBox1]').val());
$('input:text[id*=TextBox7]').val($('input:text[id*=TextBox2]').val());
$('input:text[id*=TextBox9]').val($('input:text[id*=TextBox3]').val());
$('input:text[id*=TextBox12]').val($('input:text[id*=TextBox4]').val());
$('select#DropDownList6').val($("select#DropDownList1").val());
$('input:text[id*=TextBox14]').val($('input:text[id*=TextBox6]').val());
}
else {
$('input:text[id*=TextBox5]').val('');
$('input:text[id*=TextBox7]').val('');
$('input:text[id*=TextBox9]').val('');
$('input:text[id*=TextBox12]').val('');
$('select#DropDownList6').val('');
$('input:text[id*=TextBox14]').val('');
}
});
});
下面是DDL的SQL:
<asp:DropDownList ID="DropDownList1" runat="server" DataTextField="Descr" DataValueField="ID" DataSourceID="SqlDataSource1" Width="254">
</asp:DropDownList>
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:ASPNETDBConnectionString1 %>" SelectCommand="SELECT * FROM [xrefState]">
</asp:SqlDataSource>
另一个:
<asp:DropDownList ID="DropDownList6" runat="server" DataTextField="Descr" DataValueField="ID" DataSourceID="SqlDataSource5" Width="254">
</asp:DropDownList>
<asp:SqlDataSource ID="SqlDataSource5" runat="server" ConnectionString="<%$ ConnectionStrings:ASPNETDBConnectionString1 %>" SelectCommand="SELECT * FROM [xrefState]">
</asp:SqlDataSource>
明白了,我把它改成了:
$('select[id*=DropDownList6]').val($("select[id*=DropDownList1]").val());
和else部分:
$('select[id*=DropDownList6]').val('');