2013-02-26 3 views
1

Существует много вопросов о focus(), однако я не нашел рабочего решения для своей проблемы.Вход (текстовое поле) --- Фокус() не работает

Я использую Slick сетку с некоторыми колоннами:

{id: "Something", name: "Something", field: "Something", width: 200, editor: Slick.Editors.Text }

var ResourcesGridOptions = { 
     editable: true, 
     enableCellNavigation: true,   
     enableColumnReorder: false, 
     autoEdit: false 
    }; 

Я реализовал кнопку, чтобы создать новые строки. Теперь я хотел бы автоматически сфокусировать входной текст. На этом этапе я могу установить режим «редактировать», но focus() не работает.

Возможно, кто-то может мне помочь.

В Chrome консоль JavaScript Я использую:

$($('.slick-cell:eq(2)').dblclick().find('input')[0]).select().val("").focus() 

и консоль возвращается:

[<input type="text" class="editor-text" value="">] 

Update 1

Я пытался добавить "Id" в это поле ввода, а затем сосредоточить его непосредственно .... не работает.

$($('.slick-cell:eq(2)').dblclick().find('input')[0]).attr('id', 'Something') 
$('#Something').focus() 

Возвращает: [<input type="text" class="editor-text" value="" id="Something">]

+0

+1, да еще в моем ответе пост [здесь] (HTTP: // StackOverflow. com/questions/15009877/insert-a-textfield-or-checkbox-on-mouse-click-at-current-mouse-position-or-drag/15010222 # 15010222) содержит 1 строковый код для динамического создания элемента ввода, но когда я попытайтесь сфокусировать его, он просто не будет работать (фокус). – gaurav

+0

Я думаю, что первый '' 'не нужен. просто напишите '$ ('. slick-cell: eq (2)'). dblclick(). find ('input'). eq (0) .attr ('id', 'Something')' –

ответ

2

Try вызова следующей функции по щелчку события кнопки добавления,

function AddNewRow() { 
var dataLength = dataView.getLength(); 
//dataView.addItem({ "Id": -1 }); 
//dataView.refresh(); 
grid.gotoCell(dataLength, 0, true); 
}