嘿所有我一直在寻找一段时间并且没有太多运气找到这背后的理由,所以希望有人可以帮助我。我不明白为什么它会返回换行符
$('#tbl tr td').click(function () {
// Here selection =" 710-610A " spaces are included
var selection = $(this).text();
alert(selection)
$.ajax({
type: "Post",
url: "/Home/Index/",
dataType: "json",
data: { grpCode: selection },
success: function (ResponseData) {},
error: function (errorResponse) {
alert('AJAX Call Failed');
}
// When passed grpCode = "\n 710-610A\n "
I dnt understand why theres so many spaces along with it
[HttpPost]
public ActionResult Index(string grpCode)
{
// do something
}
我认为这与我在View
中显示表格的方式有关 <table id="tbl">
<tr>
<th>
Groups
</th>
</tr>
@foreach (var item in Model.groupCodesList.Select(m=> m.Group_Code).Distinct())
{
<tr>
<td>
@item
</td>
</tr>
}
</table>
我使用EF Code First检索数据
答案 0 :(得分:0)
我通过在文本中添加.trim()来解决问题
$('#tbl tr td').click(function () {
var selection = $(this).text().trim();
alert(selection)
有人知道为什么这是一个问题吗?
答案 1 :(得分:0)
的内容
<td>
@item
</td>
是
"
@item
"
(作为多行字符串文字)
通常,在HTML中,主要忽略空白,但它们仍然是内容的一部分。它们必须是,你可以使用CSS white-space
使它们可见(如<pre>
)。因此,当您使用JQuery的.text()
时,您将获得完整的内容,包括看似冗余的空白。
如果确保首先没有空格,
<td>@item</td>
不会插入额外的空格。