В выпадающем списке формы редактирования jQgrid есть дополнительная цитата - PullRequest
0 голосов
/ 14 июля 2011

У меня есть 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;

В раскрывающемся списке есть список элементов, но последний элемент имеет дополнительные "(двойная кавычка), поэтому последнее состояние Вайоминг - Вайоминг ".

Я искал другие вопросы, но не нашел аналогичного.Знаете ли вы, почему это происходит и как это исправить?Спасибо, Дженни

1 Ответ

0 голосов
/ 14 июля 2011

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 для фрагмента HTML с <select>...</select>.Подробнее см. ответ .

Если вы выберете способ, у вас не возникнет проблем с какими-либо специальными символами, такими как '' ',': ','; 'и т. д.

...