2013-09-12 3 views
1

Есть ли способ добавить события внутри Добавить форму в jqgrid. Скажем, например, ниже. Добавить форму, я хочу установить размер avg значение на основе значения от размер i enter. (Здесь 3/6). я не хочу, чтобы установить значение в onSubmit событие, но, прежде чем выбрать Размер РЗМСобытия внутри JqGrid Добавить форму

enter image description here

{name:'size', index:'size', width:80, align:'right', hidden: false, editable:true}, 
{name:'sizeavg', index:'sizeavg', width:80, align:'right', editable:true, hidden: false}, 
{name:'sizerem', index:'sizerem', width:80, align:'right', editable:true, hidden: false, 
    edittype:'select',align:'left', 
    editoptions:{value:{F:'F',S:'S',FS:'F/S',NA:'Double Butt'}}, 
}, 

Любая помощь будет оценена.

ответ

2

jqGrid предоставляет вам множество способов реализации любого сценария, который вам нужен. Прежде всего вам нужно понять, что редактирование формы, которое вы используете сейчас, присваивает атрибут id для каждого поля ввода в форме. Значение атрибута id равно значению name свойство столбца в colModel. Таким образом, чтобы получить поле ввода sizeavg, вы можете использовать $("#sizeavg").val(). Это дает вам простой способ изменить поле на некоторых условиях или в случае какого-либо события.

Чтобы поймать событие, вам необходимо привязать его к соответствующему полю ввода. Один из способов сделать это - использовать dataEvents свойство editoptions. Вы можете найти примеры привязки события here, here и многие другие ответы.

Таким образом, вы можете связать change, focusout, keydown или другое событие для size или sizerem столбцов. Вы можете получить текущие значения с помощью $("#size").val() и $("#sizerem option:selected").val(), а затем при необходимости изменить значение sizeavg с помощью $("#sizeavg").val("new nalue").

+0

спасибо Олегу. Как обычно, ты дал мне то, что искал. :) – Wahab

+0

@Wahab: Добро пожаловать! – Oleg

Смежные вопросы