最初のチェックボックス「すべて」が選択されているときに、他のすべてのオプションのチェックを外すJavaScript関数を作成しようとしています。以下に示すように、この listitem の cbxlOption のインデックスは 0 で、値は -1 です。以下のJavaScriptを完成させるために、選択したチェックボックスの値を取得するにはどうすればよいですか? 助けてくれてどうもありがとう!
<asp:CheckboxList ID="cbxlOptions" runat="server" >
<asp:ListItem Text="All" Value="-1" />
<asp:ListItem Text="Option 1" Value="0" />
<asp:ListItem Text="Option 2" Value="1" />
<asp:ListItem Text="Option 3" Value="2" />
</asp:CheckboxList>
function UncheckOptions( cbxListID, cbxID )
{
var checkedValue = null;
var cbxListID = document.getElementById( cbxListID );
var cbxArray = cbxListID.getElementsByTagName( 'input' );
checkedValue = document.getElementById( cbxID ).value;
//--uncheck everything else other than the first checkbox(index=0)
if (checkedValue < 0)
{
for (var i=1; cbxArray[i]; ++1)
{
cbxArray[i].checked = false;
}
}
else //--checkedvalue > 0, uncheck "ALL"
{
cbxArray[0].checked = false;
}
}
これは正確なコードではありません (私は asp.net でコーディングしているため) が、これが役立つことを願っています。 http://jsbin.com/utuvuy/20/
次のように、各チェックボックスにJavaScript関数を追加しています。
For Each item As ListItem In cbxlOptions.Items
item.Attributes.Add("onclick", "UncheckOptions('" & _
cbxlStatus.ClientID.ToString & "',this.id);")
Next