我不明白为什么以下代码无效。我将一些输入值保存到会话中。在下一页中,我希望用户能够将这些值复制到输入字段。
$(function(){ $( “输入#copyshipping”)。单击(函数(){
if ($("input#copyshipping").is(':checked')) { // Checked, copy values $("input#BillingFirstName").val("<%=Session("ShippingFIRSTNAME")%>"); $("input#BillingLastName").val("<%=Session("ShippingLASTNAME")%>"); $("input#BillingAddress1").val("<%=Session("ShippingADDRESS1")%>"); $("input#BillingAddress2").val("<%=Session("ShippingADDRESS2")%>"); $("input#BillingCity").val("<%=Session("ShippingCITY")%>"); $("input#BillingState").val("<%=Session("ShippingSTATE")%>"); $("input#BillingCountry").val("<%=Session("ShippingPOSTALCODE")%>"); $("input#BillingPostalCode").val("<%=Session("ShippingCOUNTRY")%>"); } else { // Clear on uncheck $("input#BillingFirstName").val(""); $("input#BillingLastName").val(""); $("input#BillingAddress1").val(""); $("input#BillingAddress2").val(""); $("input#BillingCity").val(""); $("input#BillingState").val(""); $("input#BillingCountry").val(""); $("input#BillingPostalCode").val(""); } }); });
答案 0 :(得分:3)
查看源代码,看起来文本框没有id属性,只有name属性。例如,当你说$("input#BillingFirstName")
时,“#”表示一个ID,而那里没有一个。
添加ID,或使用$("input[name='BillingFirstName'])
。我建议添加id;它是一个更快的选择器。
答案 1 :(得分:0)
如果选中复选框,为什么不直接将会话数据回显到输入中?没有理由将它回显到JavaScript代码中,然后让jQuery填充表单。
此外,如果用户禁用了JavaScript,则此当前设置将失败。