jQuery尝试基于在MVC3中取消选中CheckBoxFor为值设置TextBoxFor
我有一个从数据库填充checkboxfor和textboxfor的视图。根据模型中的记录数量,这些记录有多个。这一切都很好。但是现在我想要一个脚本,如果他们取消选中相应的文本框,它将清空相应的文本框。脚本正在运行,但它似乎找不到文本框-我已经尝试了7种方法,直到星期天,当它点击行将值设置为空字符串时,它只是继续,什么也没有发生。当我查看源代码时,变量中的内容是我试图操作的文本框的id。我已经用这个拔头发两天了。感谢您的帮助 以下是脚本:jQuery尝试基于在MVC3中取消选中CheckBoxFor为值设置TextBoxFor,jquery,asp.net-mvc-3,checkboxfor,Jquery,Asp.net Mvc 3,Checkboxfor,我有一个从数据库填充checkboxfor和textboxfor的视图。根据模型中的记录数量,这些记录有多个。这一切都很好。但是现在我想要一个脚本,如果他们取消选中相应的文本框,它将清空相应的文本框。脚本正在运行,但它似乎找不到文本框-我已经尝试了7种方法,直到星期天,当它点击行将值设置为空字符串时,它只是继续,什么也没有发生。当我查看源代码时,变量中的内容是我试图操作的文本框的id。我已经用这个拔头发两天了。感谢您的帮助 以下是脚本: <script type="text/javasc
<script type="text/javascript">
$(document).ready(function () {
$('.chkbox').live('click', function () {
if ( ! $(this).attr('checked'))
{
var myid = "txtbox_" + $(this).attr('id');
var varempty = '';
$("#" + myid).val = (varempty);
}
});
});
这是在页面源代码中呈现的内容,显示textboxfor的id为“txtbox_x”,它与我在脚本中的内容相匹配:@For x = 0 To Model.Count - 1
Dim i As Integer = x
@<tr>
<td class="checkboxcolumn">
@Html.HiddenFor(Function(model) model(i).Soft_ID)
@Html.HiddenFor(Function(model) model(i).ESR_Soft_ID)
@Html.CheckBoxFor(Function(model) model(i).Soft_Checked, New With {.id = Model(i).Soft_ID.ToString, .class = "chkbox"})
</td>
<td class="checkcolumn">
@Html.Label(Model(i).Soft_Title)
</td>
<td class="checkcolumn">
@Html.TextBoxFor(Function(model) model(i).License_Key, New With {.size = "50", .id = "txtbox_" + Model(i).Soft_ID.ToString})
</td>
</tr>
Next
<tr>
<td class="checkboxcolumn">
<input data-val="true" data-val-number="The field Soft_ID must be a number." data-val-required="The Soft_ID field is required." name="[0].Soft_ID" type="hidden" value="1" />
<input data-val="true" data-val-number="The field ESR_Soft_ID must be a number." data-val-required="The ESR_Soft_ID field is required." name="[0].ESR_Soft_ID" type="hidden" value="17" />
<input checked="checked" class="chkbox" data-val="true" data-val-required="The Soft_Checked field is required." id="1" name="[0].Soft_Checked" type="checkbox" value="true" /><input name="[0].Soft_Checked" type="hidden" value="false" />
</td>
<td class="checkcolumn">
<label for="Adobe_Writer">Adobe Writer</label>
</td>
<td class="checkcolumn">
<input id="txtbox_1" name="[0].License_Key" size="50" type="text" value="adobe key" />
</td>
</tr>
Adobe Writer
任何帮助都将不胜感激!这件事让我头痛了两天。我尝试过设置:eq(index)、设置[input id=variable]和其他许多事情,但都没有成功。它在单击复选框时触发脚本,并正确检索复选框的id并正确构建关联文本框的名称-它似乎没有找到字段并将val设置为空文本。使用Firebug进行调试时,它会点击最后一行,然后退出脚本
我还应该注意到,我是MVC和jQuery的新手,因此如果我做得不好,我会提前道歉。这是不正确的语法-$(“#”+myid)。val=(varempty); 它应该是-$(“#”+myid).val(varempty)