#jquery #jqgrid
#jquery #jqgrid
Вопрос:
я использую jqgrid и добавляю строку, содержащую поля: textbox и selectbox.
После добавления строки, выбрав возраст из выпадающего списка, когда я нажимаю на эту строку для редактирования, в выпадающем списке возраст должно быть отмечено выбранное значение по умолчанию. Как этого добиться?
Это код, показывающий данные столбцов:
colModel:[
{name:'user_id',index:'user_id', width:150,align:"center",editable:false,editoptions:{readonly:true,size:10}},
{name:'user_name',index:'user_name', width:250, align:"left",editable:true,editoptions:{size:30}},
{name: 'Age', width: 40, editable: true, formatter: 'select',
edittype: 'select', editoptions: { value: age_list },
hidden: true, editrules: { edithidden: true }}
]
где ‘age_list’ — это массив значений возраста в виде массива javascript.
Комментарии:
1. jqGrid действительно автоматически помечает выбранное значение по умолчанию во всех моих тестах как при встроенном редактировании, так и при редактировании формы. Вам следует опубликовать больше кода, который вы используете, потому что проблема, несомненно, находится за пределами опубликованного кода. Например, который
age_list
вы используете? в каком формате содержится столбец ‘Age’? Как вы заполняете сетку?
Ответ №1:
Используйте edittype: 'custom'
для своего столбца, а затем вы можете создать свой собственный HTML-код для элемента управления:
<script>
jQuery("#grid_id").jqGrid({
...
colModel: [
...
{name:'price', ..., editable:true, edittype:'custom', editoptions:{custom_element: functionThatReturnsHtmlElement, custom_value: functionThatReturnsTheValueYouNeed} },
...
]
...
});
</script>
Более подробная информация в вики-документации jqGrid:http://www.trirand.com/jqgridwiki/doku.php?id=wiki:common_rules#editable
Комментарии:
1. Я не смог найти способ установить значение по умолчанию, как вы сказали выше: <опция … выбрано> отображать</option> . Я пробовал с помощью: editoptions: { значение: age_list, значение по умолчанию: «2»} но это не сработало. Я вижу, что первый вариант в выпадающем списке выбирается по умолчанию.
2. Я отредактирую, чтобы было более понятно. Вы должны использовать
custom
edittype, вы пока этого не делаете.3. что означают значения custom_element и custom_value?
4. Для получения всех подробностей об этом, пожалуйста, перейдите по ссылке на документацию jqGrid и посмотрите раздел edittittype -> пользовательский. Их пример предназначен для создания элемента «input», но вы можете легко настроить его для создания элемента «select». Я бы ответил вам напрямую, но я бы просто скопировал их документацию.
5. Кстати, я просмотрел исходный код этой демонстрационной страницы: ok-soft-gmbh.com/jqGrid/DependendSelects2.htm и я мог бы получить чистое решение моей проблемы. Именно то, что я хотел в сценарии редактирования. Все еще принимаю ваше решение 🙂