2つの選択ドロップダウンがあります。 1つのドロップダウンから値を選択すると、もう1つの値に対応する値が入力されます。 onchange機能の間に ドロップダウンリストに値のリストを設定する方法
<g:select name="firstText" from="${eventsList}" noSelection="['':'-Choose the From Date-']" onchange="categoryChanged(this.value)" />
<label>WayBill Id</label>
<select id="bill">
<option>Select Bill</option>
</select>
、私はコントローラへのAJAX呼び出しを行うと値 を取得しています。これは、
function categoryChanged(categoryId) {
alert(categoryId)
$.ajax({
url:"<g:createLink url="[action:'categoryChanged',controller:'jsonComparison']" />",
asnyc: false,
data: {dateValue:categoryId},
success: function(data){
//var retrievedValue = JSON.parse(data);
alert("inside the success ajax function"+data)
//$("#wayBill1").val(retrievedValue.value1)
//$("#wayBill1").html(retrievedValue.value1)
//$('#wayBill1 :selected').text();
var select = $('#bill');
select.find('option').remove();
$.each(retrievedValue,function() {
$('<option>').val(data).text(data).appendTo(select);
});
}
});
}
警告アラートが私のAjaxの機能である(「成功のAjax機能内部」+データ)が値で起動していますが、2番目のドロップダウンでは表示できません。値は、[0000-00.00,0001-00.00,0002-00.07] ような値のliistこれはJsonComparison.findAllByDateValueは、値のリストを返すか、他されるよう
def categoryChanged(){
String firstParameter = params?.dateValue
def reply
def wayB = []
wayB = JsonComparison.findAllByDateValue(firstParameter)
println "wayBill id: "+wayB.Bill
//reply = [status:true, value1:"${wayB.Bill}"]
render wayB.wayBill as List
}
私はそれを正しくレンダリングしています私のコントローラクラスであります私はそれを表示中に間違っている。応答を受け取ったら、2番目の選択は空になり、値を入れません。
のドロップダウンリストにwayB.wayBillをJSONとしてレンダリングするように変更しました。$(data).each(function(){ $('
あなたの提案は私が問題を解決するのを助けた –