thr*_*ee3 7 javascript jquery jquery-ui
我无法使用jQuery将结算地址复制到送货地址.我已经使用没有自定义jQuery元素的普通jane形式成功完成了这项工作.但是当我将自定义UI添加到复选框时,它似乎打破了代码.我已经尝试了几个代码更改,但它们都没有工作.
当用户点击"我的帐单邮寄地址与我的送货地址相同"时,不会发生任何事情.这是我的jQuery代码:
<script type="text/javascript">
$(document).ready(function(){
$('#check-address').click(function(){
if($('#check-address').attr('checked')){
$('#address-field1').val($('#address-field').val());
$('#city-field1').val($('#city-field').val());
$('#zip-field1').val($('#zip-field').val());
var state = $('#state-field option:selected').val();
$('#state-field1 option[value=' + state + ']').attr('selected','selected');
} else {
//Clear on uncheck
$('#address-field1').val("");
$('#city-field1').val("");
$('#zip-field1').val("");
$('#state-field1 option[value=Nothing]').attr('selected','selected');
};
});
});
</script>
Run Code Online (Sandbox Code Playgroud)
任何帮助是极大的赞赏!
$('#check-address').attr('checked')
Run Code Online (Sandbox Code Playgroud)
应该是
$('#check-address').is(':checked')
Run Code Online (Sandbox Code Playgroud)
this.checked似乎是最简单的。
您正在使用 jquery 1.7 。你应该使用 prop 而不是 attr
$('#check-address').prop('checked')
$(elem).attr('checked') // returned true (Boolean) prior to 1.6
$(elem).attr('checked') // now returns "checked" (string) versions after 1.6
$(elem).prop('checked') // now returns true (Boolean) versions after 1.6
Run Code Online (Sandbox Code Playgroud)
你用来美化你的复选框(或它做的任何事情)的插件正在替换<input type="checkbox"/>a div,并在复选框上模拟事件.
它不传播一个click事件,但确实传播了一个事件,change所以你应该倾听它;
$('#check-address').change(/* function */);
Run Code Online (Sandbox Code Playgroud)
为了提高你的代码,你可能要代替支票attr('checked')用prop('checked'),但你的代码仍然会不顾工作.有关这方面的原因在jQuery文档中列出prop(); http://api.jquery.com/prop
| 归档时间: |
|
| 查看次数: |
9416 次 |
| 最近记录: |