我正在尝试使用JavaScript修改表单以填充此表单的选项。我几乎完成了,但我达到了一个我无法克服的里程碑。我想知道是否有人可以提供帮助。该示例的格式如下:http://jsfiddle.net/vladc77/bq5U6/3/
我可以成功分配关闭日期(星期六和星期日),但我无法通过选中/取消选中表单中的复选框来更改所有工作日的状态(禁用/启用)。请告诉我可以做什么而不改变我为此行中的复选框指定样式的方式:
$(this).append(' <span class="closed custom-checkbox"><input type="checkbox" name="closed" value="closed" class="closed" id="closedHoursElement" onchange="closedHours()"><span class="box"><span class="tick"></span></span></span>Closed');
提前谢谢。
答案 0 :(得分:0)
它是因为你试图得到复选框的兄弟姐妹..它唯一的兄弟是一个span元素。 select元素是父元素的兄弟元素。
$('input[type=checkbox]').change(function() {
$(this).parent().siblings('select').prop('disabled', this.checked);
});
http://jsfiddle.net/vladc77/bq5U6/3/
您还应该使用.prop()来设置已禁用的属性。对于jQuery 1.6+
来自jQuery docs
应该使用.prop()方法来设置disabled和checked而不是.attr()方法。
使用prop设置disabled属性,您可以将其设置为true或false
$(element).prop('disabled',true); // disabled
$(element).prop('disabled',false); // not disabled