我有一个textarea添加到DOM中,并在查询数据库的php脚本上成功调用$ .ajax后填充。
使用查询结果生成一个表,并在表中的每一行添加“编辑并保存”按钮,以便用户可以更改信息。
用户可以更改两个文本类型输入和一个textarea(由于来自该列的大量数据)。
两个文本输入正常工作(更改保存到服务器)。但是我无法获得用户从textarea所做的更改。
表格行如下所示:
<table id="tblBranchCoverage" width="100%">
<thead>
<tr>
<th width="115px">County</th>
<th>State</td>
<th>Zip Codes</th>
</tr>
</thead>
<tbody>
<tr class="coverageRow" style="cursor: pointer;">
<td class="countyCovered" width="115px">
<label class="branchCountyCovered coverageDisplay" style="display: none;">Barrow</label>
<input type="text" class="edit editBox editCounty" style="width: 111px;" value="Barrow"><br>
<input type="submit" class="edit button submitCoverageEdits" style="" value="Save Changes"><br>
<input type="submit" class="edit button cancelCoverageEdits" style="" value="Cancel">
<input type="hidden" id="branchCoverageID" value="1">
</td>
<td class="stateCovered" width="30px">
<label class="branchStateCovered coverageDisplay" style="display: none;">GA</label>
<input type="text" class="edit editBox editState" style="width: 22px;" value="GA" max-length="2">
</td>
<td class="zipsCovered">
<label class="branchZipsCovered coverageDisplay" style="display: none;">30028, 30040, 30041</label>
<textarea class="edit editBox editZips" style="resize: none; overflow: hidden;" cols="100">30028, 30040, 30041</textarea>
</td>
</tr>
</tbody>
</table>
我正在使用这个jQuery获取输入的值:
$('#tblBranchCoverage').on('click', 'tr input.submitCoverageEdits', function() {
var $tr = $(this).parent().parent(),
county = $tr.find('input.editCounty').val(),
state = $tr.find('input.editState').val(),
zips = $tr.find('textarea.editZips').text();
...
});
检查控制台中textarea的内容:
console.log('zips: ' + zips);
无论用户做出任何更改,始终只显示填充的文本。我也在textarea上尝试了.val()和.html(),但都无济于事。
任何人都可以告诉我为什么这不适用于textarea以及如何修复它?
感谢。