2013-10-15 3 views
1

Я использую плагин x-editable, и я пытаюсь выяснить, как загрузить список имен состояний в список выбора для встроенного редактирования.Включить результаты запроса Coldfusion в X-Editable Data-Source

В принципе, я опрошена базу данных:

<cfquery datasource="#application.dsn.recAppTest#" name="states"> 
    SELECT * FROM dbo.states ORDER BY StateName ASC 
</cfquery> 

И я установил HTML:

<label class="control-label" for="state">State: 
    <a href="##" id="state" data-source="#states#">#session.state#</a> 
</label> 

А вот JQuery:

$('#state').editable({ 
    name: 'state', 
    type: 'select', 
    placement: 'right', 
    url: 'update-session.cfm', 
    send: 'always' 
}); 

Заметим, что это делает не работает, он дает эту ошибку:

The expression has requested a variable or an intermediate expression result as a simple  
value, however, the result cannot be converted to a simple value. Simple values are 
strings, numbers, boolean values, and date/time values. Queries, arrays, and COM objects 
are examples of complex values. <p> The most likely cause of the error is that you are 
trying to use a complex value as a simple one. For example, you might be trying to use a 
query variable in a cfif tag. 

Атрибут источника данных для этого плагина принимает только массивы или объекты (предпочтительные массивы, поскольку объекты могут потерять порядок).

Итак, как мне включить мой запрос coldfusion в «массив javascript» для использования в качестве источника данных?

Моя единственная мысль, чтобы «построить» строку, которая соответствует синтаксису массива, но Im пытается избежать чего-то вроде этого

+1

Вы не можете просто передать объект запроса ColdFusion в свою разметку. Вам нужно будет массировать данные, чтобы получить их в формат, ожидаемый плагином. –

+0

Да, я знаю, это мой вопрос: как мне это сделать? Я просто написал функцию, которая имеет формат возврата «JSON», но это, похоже, не работает –

ответ

4

вам нужно передать JSON в атрибуте data-source

<label class="control-label" for="state">State: 
    <a href="##" id="state" data-source="#serializeJSON(states)#">#session.state#</a> 
</label> 

Вы можете необходимо сделать больше манипуляций с запросом, чтобы заставить его работать так, как вам нужно, но, как минимум, нужен атрибут data-source. JSON

+0

Я буквально только что нашел это !! Это работало до некоторой степени - но это дает мне эту новую ошибку в консоли JS: 'GET http://www1.dev/recruitmentapp2/rcc/%7B?_=1381855736794 404 (не найдено)' –

+0

, что является совершенно отдельным вопрос. Этот файл существует на сервере? –

+0

Нет, я даже не знаю, что это значит. Он указывает на файл jquery-1.10.2.js, когда я нажимаю ссылку на встроенное редактирование списка. –

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