0

我正在尝试使用 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');

先感谢您。

4

1 回答 1

0

这是因为您正在尝试获取复选框的兄弟姐妹。它唯一的兄弟姐妹是 span 元素。选择元素是父元素的兄弟。

$('input[type=checkbox]').change(function() {   
       $(this).parent().siblings('select').prop('disabled', this.checked);
});

http://jsfiddle.net/vladc77/bq5U6/3/

您还应该使用.prop()设置禁用属性。对于 jQuery 1.6+

来自 jQuery 文档

应该使用 .prop() 方法来设置禁用和检查,而不是 .attr() 方法。

使用 prop 设置 disabled 属性,您只需将其设置为 true 或 false

$(element).prop('disabled',true);  // disabled
$(element).prop('disabled',false); // not disabled
于 2012-10-05T19:44:49.097 回答