You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C# Core MVC:下拉框onchange事件后填充textarea求助

问题解决:C# Core MVC中AJAX获取数据后更新textarea失败

核心问题

你的JavaScript代码使用了错误的jQuery方法设置textarea值:$('#txtLog').value(data) 不是jQuery的正确语法,同时后端返回的List<string>是JSON数组,需要转换为适合textarea展示的字符串格式。

修复步骤

1. 修正JavaScript的AJAX成功回调

将原代码中的成功回调部分修改为:

success: function (data) {
    // 将JSON数组转成每行一个元素的字符串,填充到textarea
    $('#txtLog').val(data.join('\n'));
}
  • jQuery操作表单元素值需用.val()方法,.value()是原生DOM元素的属性,不适用于jQuery对象
  • data是后端返回的JSON数组,join('\n')会把数组元素拼接成换行分隔的字符串,更符合textarea的展示需求

2. 确保控制器方法正确返回JSON

你的GetAreaPathChildren方法需返回JSON格式数据,示例代码如下:

[HttpGet]
public IActionResult GetAreaPathChildren(string areapathText)
{
    // 替换为你的实际数据获取逻辑
    List<string> areaPathChildren = new List<string>();
    // ... 数据获取代码
    
    return Json(areaPathChildren);
}

可选优化:后端直接返回拼接好的字符串

如果希望前端逻辑更简洁,可以在控制器中提前把List<string>转换为字符串:

[HttpGet]
public IActionResult GetAreaPathChildren(string areapathText)
{
    List<string> areaPathChildren = // 你的数据逻辑
    string resultText = string.Join("\n", areaPathChildren);
    return Content(resultText, "text/plain");
}

此时前端回调只需直接赋值:

success: function (data) {
    $('#txtLog').val(data);
}

内容的提问来源于stack exchange,提问作者SpastkChild

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.07 23:35:23