Я сохраняю все свои данные в map
и теперь имею проблемы с доступом к ним из отдельного JS-файла.Контрольные значения доступа (карта) из файла Javascript
На моей (индексной странице) у меня есть 2 таблицы. Таблица LHS отображает список доступных инструкций, а RHS отображает всю подробную информацию о выбранных инструкциях.
Другими словами, когда пользователь нажимает на ID # 1 на столе LHS, таблица RHS будет отображать всю информацию Инструкции только для этого идентификационного номера.
Я добавил функцию onclick
к ID в таблице LHS. Код в index.gsp
:
<tbody>
<g:each in="${deliveryInstructions}">
<tr>
<td id="instruction_ID">
<a href="#" onclick="display_DI_details(${it.id})">${it.id}</a>
</td>
<td>${it.deliveryName}</td>
<td>${it.bankName}</td>
...
...
...
</tr>
</g:each>
</tbody>
И в моем JS
файл я (получил представление JSON из here):
function display_DI_details(id) {
var deliveryID = id;
var deliveryInstructions = ${deliveryInstructions.encodeAsJson()};
document.getElementById('diName').innerHTML = ${deliveryInstructions.deliveryName}
document.getElementById('diID').innerHTML = ${deliveryInstructions.id}
document.getElementById('fundingAccount').innerHTML = ${deliveryInstructions.fundingAccountNumber}
...
...
...
document.getElementById('beneficiary').innerHTML = ${deliveryInstructions.beneficiary}
document.getElementById('comments').innerHTML = ${deliveryInstructions.comments}
}
document.getElementById("display-di-list").innerHTML = display_DI_details(id);
Снова в index.gsp
это то, что я за столом РИТ ...
<div id="display-di-list">
<!-- <g:each in="${deliveryInstructions}"> -->
<label>Delivery Name: <p class="receiptData" id="diName"></p></label>
<label>Delivery ID: <p class="receiptData" id="diID"></p></label>
<label>Funding Account: <p class="receiptData" id="fundingAccount"></p></label>
...
...
...
<label>Beneficiary: <p class="receiptData" id="beneficiary"></p></label>
<label>Comments: <p class="receiptData" id="comments"></p></label>
<!-- </g:each> -->
</div>
Наконец, в файле controller
:
def index() {
[deliveryInstructions: DeliveryInstruction.list()]
}
Теперь у меня возникли проблемы со связью нескольких точек, чтобы закончить это. В моем файле JS
, как я могу заставить его только захватить значения параметров переданного ID (скажем, в этом случае идентификационный номер равен 1)? Большое спасибо за вашу помощь & время !!
Благодарим вас за повтор. Я использую Grails 3.0.9 & Groovy 2.4.5. Я ОПРЕДЕЛЕННО делаю что-то неправильно, «независимо от того, что я пытаюсь,« var deliveryInstructions »в JS-файле, если ничего не генерирует ... поэтому все элементы в таблице RHS пусты. не уверен, что делать: < – AlwaysANovice
Что такое html, как у вас есть 'var deliveryInstructions'? – tylerwal
пусто, ничего в нем нет. Я попытался назначить как 'var deliveryInstructions = $ {deliveryInstructions};', 'var deliveryInstructions = $ {deliveryInstructions как JSON}', 'var deliveryInstructions = $ {deliveryInstructions.encodeAsJson()}' и даже ur путь, но ничего не печатает вне. единственная ошибка, которую я получаю, это 'Неожиданный токен {' Если я удалю '{', то он жалуется, что 'id не определен' в' document.getElementById ("display-di-list"). innerHTML = display_DI_details (id); ' – AlwaysANovice