我有以下代码,其中显示了姓名、姓氏、复选框和文本框:-
<td>
@for (var i = 0; i < Model.checkBoxListTeamA.Count();i++ )
{
<div class="ScorerCheckboxList">
@Html.HiddenFor(it => it.checkBoxListTeamA[i].PlayerId)
@Html.Label(Model.checkBoxListTeamA[i].PlayerName)
@Html.Label(Model.checkBoxListTeamA[i].PlayerSurname)
@Html.CheckBoxFor(it => it.checkBoxListTeamA[i].Checked, new { id="CheckBoxA" })
@Html.TextBoxFor(it => it.checkBoxListTeamA[i].NoOfGoals, new { id="TextBoxA", style="width:20px;" })
</div>
<br/>
}
</td>
我也有以下 Jquery 脚本:-
<script type='text/javascript'>
$(document).ready(function () {
ShowHideTextBox();
$('#CheckBoxA').click(function (event) {
alert('clicked');
ShowHideTextBox();
});
});
function ShowHideTextBox() {
if ($('#CheckBoxA').is(':checked')) {
$('#TextBoxA').attr('visible', true);
}
else {
$('#TextBoxA').removeAttr('visible');
}
}
</script>
但是我没有实现我想要的,即当用户单击一个复选框时,我想显示文本框,如果未选中该复选框,那么我想隐藏该复选框。
我的脚本有什么问题?选中复选框时,我什至没有点击!
感谢您的帮助和时间
----------------更新JQUERY--------------------------
<script type='text/javascript'>
$(document).ready(function () {
ShowHideTextBox();
});
function ShowHideTextBox() {
$('.ScorerCheckboxList :checkbox').click(function () {
alert('Checked!');
$(this).siblings('input[type="text"]').toggle(this.checked);
});
}
</script>