我有一个MVC2 EditStatesController:
public JsonResult GetStates()
{
string statesToReturn = GetStates(); // returns "1: Alabama; 2: Alaska; 3: Arizona; 4: Arkansas"
return Json(statesToReturn);
}
这是调用控制器的代码:
//get States
var listOfStates = $.ajax({
url: '/EditStates/GetStates',
type: 'POST',
async: false,
success: function(data, result) {
if (!result)
alert('Failure to retrieve States.');
}
}).responseText;
下拉列表中包含元素列表,但最后一个元素有额外的“(双引号),因此怀俄明州的最后一个州是怀俄明州。”
我搜索了其他问题,但没有找到类似的问题。你知道为什么会发生这种情况以及如何解决这个问题吗? 谢谢, 珍妮
答案 0 :(得分:0)
searchoptions可以使用dataUrl
,也可以使用buildSelect
代替您当前尝试使用的value
。
jqGrid需要构建如下所示的HTML片段:
<select>
<option value="1">Alabama</option>
<option value="2">Alaska</option>
<option value="3">Arizona</option>
<option value="4">Arkansas</option>
</select>
因此,您可以直接从控制器的操作提供数据,也可以提供任何其他输出,如JSON输出:
[
{"id":1, "name":"Alabama"},
{"id":2, "name":"Alaska"},
{"id":3, "name":"Arizona"},
{"id":4, "name":"Arkansas"}
]
并使用buildSelect
事件处理程序将JSON数据转换为带有<select>...</select>
的HTML片段。有关详细信息,请参阅the answer。
如果您选择使用任何特殊字符的方式,例如''',':',';'等等。