Нужен JavaScript, чтобы включить или отключить флажок - PullRequest
1 голос
/ 24 сентября 2010

Привет, все, что у меня есть два элемента управления флажками в моем gridview, что мне нужно, если я установил флажок, другой должен быть включен, и если я сниму флажок, он должен быть отключен, есть ли способ сделать это.

Я пишу это, но я не получаю требуемый

 <script type="text/javascript">
  function checkboxClick(checked, boxId) {
 var childCheckbox = document.getElementById(boxId);
 childCheckbox.disabled = !checked;

  if(childCheckbox.disabled) //uncheck when disabled
     childCheckbox.checked = false;
}


</script>

  <asp:CheckBox ID="CheckBox1" runat="server" OnClientClick ="checkboxClick(this.checked);" />
    <asp:CheckBox ID="boxId" runat="server" Enabled="false" /></div>

1 Ответ

1 голос
/ 24 сентября 2010

По сути, вы хотите что-то вроде этого:

function checkboxClick(checked) {
   document.getElementById('childCheckbox').disabled = !checked;
}

<input type="checkbox" onclick="checkboxClick(this.checked);" />
<input type="checkbox" id="childCheckbox" />

Теперь, если они являются элементами управления ASP.NET, <asp:CheckBox />, вы, вероятно, захотите отредактировать checkboxClick, чтобы он также включал ClientID флажка, чтобы включить / отключить.

<asp:CheckBox runat="server" id="cb1" />
<asp:CheckBox runat="server" id="cb2" />

var cb2 = FindControl("cb2");
((CheckBox) FindControl("cb1")).OnClientClick = "checkboxClick(this.checked, '" + cb2.ClientID + "');";

EDIT

Учет дополнительных требований согласно комментариям:

function checkboxClick(checked, boxId) {
   var childCheckbox = document.getElementById(boxId);
   childCheckbox.disabled = !checked;

   if(childCheckbox.disabled) //uncheck when disabled
      childCheckbox.checked = false;
}

<asp:CheckBox runat="server" id="cb1" />
<asp:CheckBox runat="server" id="cb2" Enabled="false" /> <!-- disable on load -->
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...