рельсы bootstrap x-редактируемый пустой текст

Я использую Bootstrap X-editable в приложении Rails. Я хотел бы заменить слово empty в ячейке таблицы названием поля.

В документации, доступной для редактирования X, говорится, что emptytext заменит его.

Но следующее не работает - я все еще получаю empty.

<a href="#" class="answer" data-type="textarea" emptytext="Description" data-pk="1" data-resource="task" data-source="/tasks" data-name="longdesc" data-url="/tasks/<%= task.id %> ">

Это javascript:

  $(".answer").editable
    placement: 'bottom'

Спасибо за помощь.


person Reddirt    schedule 24.03.2014    source источник


Ответы (2)


это не emptytext="Description", а data-emptytext="Description".

<a href="#" class="answer" data-type="textarea" data-emptytext="Description" data-pk="1" data-resource="task" data-source="/tasks" data-name="longdesc" data-url="/tasks/<%= task.id %> ">

Вы также можете сделать это в javascript вместо встроенного html.

$('.answer.description').editable({
    placement: 'bottom',
    emptytext: 'Description'
});

ИЗМЕНИТЬ HTML5

Посмотрите здесь о атрибут данных HTML5. Вот почему все настройки x-editable начинаются с data-*.

ИЗМЕНИТЬ Отвечая на ваш комментарий

Вы можете сделать как в официальной демонстрации Посмотрите на выбор пола с добавить данные (и настроить отображение):

$('#sex').editable({
    prepend: "not selected",
    source: [
        {value: 1, text: 'Male'},
        {value: 2, text: 'Female'}
    ],
    display: function(value, sourceData) {
        var colors = {"": "gray", 1: "green", 2: "blue"},
        elem = $.grep(sourceData, function(o){return o.value == value;});
        if(elem.length) {
            $(this).text(elem[0].text).css("color", colors[value]);
        } else {
            $(this).empty();
        }
    }
}); 

Или вы можете напрямую добавить sourceData с помощью {value: 0, text: 'Null'}

person Kalzem    schedule 25.03.2014
comment
Быстрый дополнительный вопрос: как вы можете включить ноль или пробел в раскрывающийся список. Если пользователь выбирает значение, а затем хочет, чтобы оно было пустым? Спасибо! - person Reddirt; 25.03.2014
comment
Я нашел это - data-prepend="" - person Reddirt; 25.03.2014
comment
Очень полезная информация @Reddirt - person Florida; 31.08.2015

или вы можете использовать

$('.answer').editable({
placement: 'bottom',
defaultValue: 'Description' // for default value
}); 
person Hunter    schedule 07.12.2015