将元素的可见性绑定到另一个元素?

时间:2015-03-17 08:11:18

标签: javascript jquery bind document-ready

我希望只有当另一个元素的值不为空时才能看到元素。

现在我正在使用:

function setReceiveSmsNotificationsCheckboxArea() {
  var checkbox = $('#ReceiveSmsNotifications');
  var value = !!$('#Cellphone').val().trim(); //bool depending on txt val
  checkbox.prop('checked', value);
  checkbox.closest('.form-group').toggle(value);
}

$('#Cellphone').change(function () {
  setReceiveSmsNotificationsCheckboxArea();
});

$(document).ready(setReceiveSmsNotificationsCheckboxArea);

有没有办法将后两个函数合并为一个(这样更改甚至可以在启动时运行?)

1 个答案:

答案 0 :(得分:3)

您可以在页面加载时触发更改事件以触发处理程序

function setReceiveSmsNotificationsCheckboxArea() {
  var checkbox = $('#ReceiveSmsNotifications');
  var value = !!$('#Cellphone').val().trim(); //bool depending on txt val
  checkbox.prop('checked', value);
  checkbox.closest('.form-group').toggle(value);
}

$('#Cellphone').change(setReceiveSmsNotificationsCheckboxArea).change();