GSP

2016-11-06 9 views
0

コントローラから渡されたオブジェクトのリストから特定の要素を取得し、私はモデルとGSPのコントローラからのオブジェクトのリストを通過するたびの入力値houseIdが変更された場合、houseNameの入力値はhouseIdに基づいて特定のハウスの名前に変更されます。以下のコードです:あなたが見ることができるように、houses[0]で「0」houseIdすると仮定されてGSP

$("#houseId").change(function() { 
    $('#houseName').attr('value', '${houses[0].houseName}'); 
});` 

が、私は内部のhouseIdを置くためにどのようには考えていません。誰でも私を啓発してもらえますか?ありがとう!

答えて

0

これを行うより良い方法は、housesリストをJSON配列として送信し、JavaScriptで解析することです。あなたのアクションで

:あなたのJSで

[ 
    { 
     "id":1, 
     "name":"House 1" 
    }, 
    { 
     "id":2, 
     "name":"House 2" 
    } 
] 

var houses = JSON.parse(${houses}); 
$("#houseId").change(function() { 
    var index = $('#houseId').val(); 
    $('#houseName').attr('value', houses[index].name); 
}); 

import grails.converters.JSON 
.... 
model: [ houses: houses as JSON] 

ですから、このようなものを持っています