jquery val函数从textarea获取旧值
问题描述:
我想用批注拒绝批量记录。当用户点击页面上的拒绝按钮时,我使用'textarea'标签来获取用户的评论。jquery val函数从textarea获取旧值
问题是当我键入一些备注并在提示中单击确定按钮时,我无法获得注释textarea的值。该值为空。当我关闭提示并再次执行此过程时,我会在输入之前得到textarea的值。 jquery代码写在HtmlHelper类文件中。
这里是jQuery函数:
$('#{0}BulkRejection').click(function() {{
var selectedRowId = $('#{0}').jqGrid('getGridParam', 'selarrrow');
for (var i = 0; i < selectedRowId.length; i++) {{
cellValue = $('#{0}').jqGrid('getCell', selectedRowId[i], '{3}');
var ch = jQuery('#{0}').find('#'+selectedRowId[i]+' input[type=checkbox]').prop('checked');
if(ch)
{{
stringArray[i + 1] = cellValue;
}}
}}
if (stringArray.length == 0) {{
alert('No Record Selected');
return false;
}}
var execute = function() {{
alert($('#AuthRemarks').find('textarea.form-control').val() + '-' +$('#AuthRemarks').val())
if ($('#AuthRemarks').val() == '') {{
alert('Enter the Reject Remarks');
$('#AuthRemarks').focus();
}}
else {{
$(this).dialog('close')
stringArray[0] = $('#AuthRemarks').val();
var postData = {{ values: stringArray }};
$.ajax({{
type: 'POST',
url: RootUrlName+'/{5}',
data: postData,
success: function (data) {{
alert(data.Result);
}},
dataType: 'json',
traditional: true
}});
$('<div title=""Confirm Box""></div>').dialog({{
open: function() {{
$(this).html('<font color=""Green"">Record(s) Rejected Successfully</font>');
}},
close: function() {{
$(this).remove();
window.location.href = RootUrlName+'/{2}'
}},
resizable: false,
height: 170,
modal: true,
buttons: {{
'Ok': function() {{
$(this).dialog('close');
window.location.href = RootUrlName+'/{2}'
}}
}}
}});
}}
}}
var cancel = function() {{
$(this).dialog('close')
}}
var dialogOpts = {{
buttons: {{
'Ok': execute,
'Cancel': cancel
}}
}};
if (confirm('Are you sure to reject this record(s)?')) {{
$('#dialog').dialog(dialogOpts);
}}
}});
}});
HTML代码:
<div class='panel-body'>
<div id='dialog' ' title='Reject Remarks' style='display: none'>
<textarea class='form-control' rows='5' id='AuthRemarks'
maxlength='250' ></textarea>
</div>
</div>
所以它表明,即使我进入拒绝的话,然后点击确定按钮,在“输入拒绝备注”的消息,由于字段“AuthRemarks”值为空(请参阅下面的给定行)。它不是第一次工作。
if ($('#AuthRemarks').val() == '') {{
alert('Enter the Reject Remarks');
$('#AuthRemarks').focus();
}}
答
我最近遇到过类似的问题。 请确保BulkRejection拒绝按钮用户点击 是类型=“按钮”。
这可能是因为在你的形式,它是 类型=的“复位”可能被重置的形式和不断变化的各个领域的默认值和评论领域的jQuery函数执行之前为null。
您确定自己的页面上没有另外一个id为AuthRemarks的元素吗? – JB06
我相信,没有其他元素的id为AuthRemarks。 –