我正在尝试在用户点击删除...
时将文字添加到下方div中的隐藏文本框中HTML
<div class="documentRow">
<div class="documentHeader">
<b>Title:</b>
<input data-val="true" data-val-required="Required" id="EventDocuments_1__Title" name="EventDocuments[1].Title" style="width:100px" type="text" value="test.doc">
</div>
<div class="documentDelete">
<input data-val="true" data-val-required="The Delete field is required." id="EventDocuments_1__Delete" name="EventDocuments[1].Delete" type="hidden" value="False">
</div>
<div class="deleteDoc">
<button class="button delDocButton ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only" role="button" aria-disabled="false"><span class="ui-button-text">Delete</span></button>
</div>
Jquery的:
$(".delDocButton").click(function() {
$(this).parent().parent().toggle();
$(this).parent().find(".documentDelete input").val("True");
return false;
});
我在页面上有几个“行”,所以我不能通过id引用文本框。
答案 0 :(得分:3)
问题在于这一行:
$(this).parent().find(".documentDelete input").val("True");
$(this).parent()
是按钮的直接父级(<div class="deleteDoc">
),您的隐藏字段不在其中,因此它不会find
。
为了省去不得不重复拨打parent()
的电话,我建议不要这样做:
$(".delDocButton").click(function() {
var $container = $(this).parent().parent();
$container.toggle();
$(".documentDelete input",$container).val("True");
return false;
});
答案 1 :(得分:0)
替换你的行
$(this).parent().find(".documentDelete input").val("True");
有了这个
$(this).parent().siblings(".documentDelete").find("input").val("True");
答案 2 :(得分:0)
即使这应该有效:
$(this).parent().find(".documentDelete").find('input').val("True");
答案 3 :(得分:0)
希望它有用