我不知道我做错了什么,但是只有我的剧本的前半部分被取走了。我尝试过各种组合,一次只能得到一个if语句。
if (!$('#LocalDelivery').is(":checked")) {
$('#datepicker').attr("value", "");
$('#LocalDate').val($('.productAttributeConfigurableEntryText div.productAttributeValue input[type="text"]').val());
$('#LocalDate').attr('name',
$('.productAttributeConfigurableEntryText div.productAttributeValue input[type="text"]').attr('name'));
}
else
{
if (!$('#StandardShip').is(":checked")) {
$('#LocalDate').attr("value", "");
$('#datepicker').val($('.productAttributeConfigurableEntryText div.productAttributeValue input[type="text"]').val());
$('#datepicker').attr('name',
$('.productAttributeConfigurableEntryText div.productAttributeValue input[type="text"]').attr('name'));
}
}
谢谢。
编辑:为了澄清,我理解“其他”指的是其中一个或另一个。这里的问题是,即使满足第二个if语句的条件,它也不会执行。我只能得到一个反应,如果一次状态使用上述代码或任何类似的变化,我已经尝试过。
发布于 2014-01-05 22:47:40
试着:
if ($('#LocalDelivery').is(":checked") == false) {
$('#datepicker').attr("value", "");
$('#LocalDate').val($('.productAttributeConfigurableEntryText div.productAttributeValue input[type="text"]').val());
$('#LocalDate').attr('name',
$('.productAttributeConfigurableEntryText div.productAttributeValue input[type="text"]').attr('name'));
}
if ($('#StandardShip').is(":checked") == false) {
$('#LocalDate').attr("value", "");
$('#datepicker').val($('.productAttributeConfigurableEntryText div.productAttributeValue input[type="text"]').val());
$('#datepicker').attr('name',
$('.productAttributeConfigurableEntryText div.productAttributeValue input[type="text"]').attr('name'));
}
您还可以使用.is(":checked")
更改.attr("checked","checked")
。
编辑:--我刚刚注意到,您试图在同一个元素#datepicker
中实现两个特定的值,这一定是导致您的第一个条件不被选中的原因。
我的意思是,当两个复选框都没有选中时,您将尝试在一个元素#datepicker
中放置两个值。
上面的意思是,您的代码的逻辑是wrong.You,相反,它只能有一个复选框,并执行以下操作:
if ($('#LocalDelivery').is(":checked") == false) {
$('#datepicker').attr("value", "");
$('#LocalDate').val($('.productAttributeConfigurableEntryText div.productAttributeValue input[type="text"]').val());
$('#LocalDate').attr('name',
$('.productAttributeConfigurableEntryText div.productAttributeValue input[type="text"]').attr('name'));
} else {
$('#LocalDate').attr("value", "");
$('#datepicker').val($('.productAttributeConfigurableEntryText div.productAttributeValue input[type="text"]').val());
$('#datepicker').attr('name',
$('.productAttributeConfigurableEntryText div.productAttributeValue input[type="text"]').attr('name'));
}
发布于 2014-01-05 22:36:56
试一试
if (!$('#LocalDelivery').is(":checked")) {
$('#datepicker').attr("value", "");
$('#LocalDate').val($('.productAttributeConfigurableEntryText div.productAttributeValue input[type="text"]').val());
$('#LocalDate').attr('name',
$('.productAttributeConfigurableEntryText div.productAttributeValue input[type="text"]').attr('name'));
}
if (!$('#StandardShip').is(":checked")) {
$('#LocalDate').attr("value", "");
$('#datepicker').val($('.productAttributeConfigurableEntryText div.productAttributeValue input[type="text"]').val());
$('#datepicker').attr('name',
$('.productAttributeConfigurableEntryText div.productAttributeValue input[type="text"]').attr('name'));
}
如果您正在使用else,那么如果第一个if
返回false
,那么第二个false
将被执行,所以您所拥有的就是您应该期望的。第一个if
返回true,因此第二个被忽略。
发布于 2014-01-05 22:38:37
这就是它应该如何运作的。如果前半部分为true
,则不会执行else
块。每次只执行一个块。永远不要两者兼得
https://stackoverflow.com/questions/20940124
复制相似问题