jeditable loadurl: ссылка на идентификатор css или просто передача переменных по мере необходимости

У меня на странице есть:

$('.editable-question').editable('{{my_identifier}}/form_item/edit',{
                    //loadurl: 'example/restful/url/in/app/{{???????????????}}',
                    type   : 'textarea',
                    cancel : 'Cancel',
                    submit : 'OK',                  
                    name   : 'edit_this',
                  });

Я использую jeditable в приложении Flask внутри шаблона jinja. Проблема в том, что мне нужно передать информацию в «loadurl», чтобы получить неформатированный текст уценки, но я понятия не имею, как получить что-то из css в этот оператор loadurl:

<div id="f4d629f9f0" class="editable-question" style="">
    <p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit</p>
</div>

в этом случае я хочу получить идентификатор css в {{??????????}}. Как это обычно делается? Кажется, обычный вопрос, но я еще не нашел ни одного ответа. Больше rtfm'ing я полагаю.

Менее насущная проблема заключается в том, что в какой-то момент мне нужно будет удалить свои js из шаблонов jinja, но я не уверен, как получить нужные мне переменные на странице, а затем в js: я думаю, скрытые элементы и/или URL-ссылка на то, что js захватывает переменные по мере необходимости.

редактировать:

Я закончил с чем-то вроде:

$('.editable-question').editable('/form_item/edit',{
                    id: 'my_id',
                    loadurl: 'node',
                    type   : 'textarea',
                    cancel : 'Cancel',
                    submit : 'OK',                  
                    name   : 'edit_this',
                  });

и my_id передается как параметр URL-адреса (?my_id={{css id}}) jeditable, но он кажется грязным, я бы предпочел спокойный URL-адрес, но мне нужно просто сделать все, чтобы двигаться дальше.


person blueblank    schedule 21.11.2012    source источник


Ответы (1)


Не знаю, правильно ли я понимаю ваши вопросы? Но я придумал три ответа:

1) Если вы включите js в свой HTML-шаблон, jinja сможет отображать HTML и js. Для jinja не имеет значения, какие данные находятся в шаблоне HTML, TXT, CSS или JS.

2) Вы можете передавать свои переменные в скрытые поля вашего HTML-шаблона и использовать манипуляции с dom (например, jquery), чтобы получить переменные из dom.

3) Вы можете включить в свой HTML небольшой javascript, который содержит только функцию с переменными. В ваших внешних файлах javascript вы можете получить доступ к этим функциям для получения переменных.

Чтобы получить представление, вот часть шаблона HTML для настройки редактора codemirror и использования jinja в HTML и встроенных js:

<!DOCTYPE HTML>
<html lang="en">
<head>
<meta charset="UTF-8">
<link type="text/css" rel="stylesheet" href="/jinjacms/static/jinjacms.css"> 
<link type="text/css" rel="stylesheet" href="/codemirror/lib/codemirror.css">
<link type="text/css" rel="stylesheet" href="/codemirror/theme/rubyblue.css">
<script type="text/javascript" src="/codemirror/lib/codemirror.js"></script>
<script type="text/javascript">
function editor(id)
{
        CodeMirror.fromTextArea(document.getElementById(id), {
        theme: "rubyblue", 
        lineNumbers: true, 
        mode: {{ mode }},
        {% if readonly %}readOnly: "nocursor",{% endif %} 
        tabSize: 4,
        indentUnit: 4,
        indentWithTabs: true,
        tabMode: "shift"
      });
}
</script>
<style>.CodeMirror {border-top: 1px solid black; border-bottom: 1px solid black;}</style>
<title>{{ title }}</title>
</head>
<body onload="editor('text_data');">
person voscausa    schedule 21.11.2012
comment
Первоначально мой главный вопрос заключался в том, чтобы получить идентификатор css div в URL-адрес, используемый loadurl, который может быть одним из многих на странице, а не тем, что я бы передал в шаблон js. - person blueblank; 21.11.2012
comment
Если вы можете выбрать div (например, с помощью мыши или события фокуса), вы можете получить идентификатор текущего выбранного элемента. Это то, что вы имеете в виду? - person voscausa; 21.11.2012
comment
частично - мне нужно использовать «loadurl», и мне нужно предоставить спокойный относительный URL-адрес «node/(node_id)», где node_id извлекается из идентификатора css, в котором он находится, например. ‹div id=node-1234dfas›вещи‹/div› - person blueblank; 22.11.2012