非常简单。您使用的是knockout.js?最后,您可以编辑前端(客户端)代码吗?因为如果可以的话,您只是在jquery中谈论.change事件绑定,然后ajax调用success来填充表单。查看真正的前端标记比图像更有帮助,但如果可以提供markup@a
非常简单。您使用的是knockout.js?最后,您可以编辑前端(客户端)代码吗?因为如果可以的话,您只是在jquery中谈论.change事件绑定,然后ajax调用success来填充表单。查看真正的前端标记比图像更有帮助,但如果可以提供markup@a,jquery,ajax,json,http,playframework,Jquery,Ajax,Json,Http,Playframework,非常简单。您使用的是knockout.js?最后,您可以编辑前端(客户端)代码吗?因为如果可以的话,您只是在jquery中谈论.change事件绑定,然后ajax调用success来填充表单。查看真正的前端标记比图像更有帮助,但如果可以提供markup@abc123是的,这应该很简单,我只是在网上找不到任何好的例子/解释,而且我对网络开发还相当陌生。我刚刚用前端标记进行了另一次编辑,但不,我没有使用knockout.js,只使用引导框架(css和js)以及一些自定义脚本。 val getData
非常简单。您使用的是
knockout.js
?最后,您可以编辑前端(客户端)代码吗?因为如果可以的话,您只是在jquery
中谈论.change
事件绑定,然后ajax
调用success
来填充表单。查看真正的前端标记比图像更有帮助,但如果可以提供markup@abc123是的,这应该很简单,我只是在网上找不到任何好的例子/解释,而且我对网络开发还相当陌生。我刚刚用前端标记进行了另一次编辑,但不,我没有使用knockout.js,只使用引导框架(css和js)以及一些自定义脚本。
val getData(serial: String) = Action {
val scInfo = *some database query*
val ctrlInfo = *another database query*
val json: JsValue = Json.obj(
"name" -> scInfo(0)._1,
"notes" -> scInfo(0)._2,
"ctrl1" -> Json.obj("name" -> scInfo(0)._3,
"port" -> scInfo(0)._4,
"apc" -> scInfo(0)._5),
"ctrl2" -> Json.obj("name" -> ctrlInfo(0)._1,
"port" -> ctrlInfo(0)._2,
"apc" -> ctrlInfo(0)._3),
"rack" -> scInfo(0)._6,
"comtrol" -> scInfo(0)._7
)
Ok(json)
}
<div class="header-wrapper">
<h2 class="header">Edit Information for...</h2>
</div>
<div class="sc-content">
<form class="form-horizontal col-md-12" role="form">
<div class="form-group">
<label for="inputSC" class="control-label">Storage Center</label><br>
<div class="col-sm-6">
<select class="form-control" onfocus="this.blur()" id="inputSC" placeholder=" ">
@storageCenters.map { sc =>
<option id="selectSC@sc._1">@{sc._1.replace('-', '/')}</option>
}
</select>
</div>
</div>
<div class="form-group">
<label for="inputRack" class="control-label">Rack</label><br>
<div class="col-sm-6">
<select class="form-control" onfocus="this.blur()" id="inputRack" placeholder=" ">
@racks.map { rack =>
<option id="selectRack@rack.name">@rack.name</option>
}
</select>
</div>
</div>
<div class="form-group">
<label for="inputConsoleIP" class="control-label">Console IP/Port</label>
<div class="col-sm-10">
<input type="text" class="form-control" id="inputConsoleIP" placeholder="i.e. 127.0.0.1">
</div>
</div>
<div class="form-group">
<div class="col-sm-10">
<input type="text" class="form-control" id="inputPort" placeholder="i.e. 00000">
</div>
</div>
<div class="form-group">
<label for="inputAPC" class="control-label">APC Outlet</label><br>
<div class="col-sm-6">
<input type="text" class="form-control" id="inputAPC" placeholder="i.e. 12">
</div>
</div>
<div class="form-group">
<label for="inputNotes" class="control-label">Notes</label><br>
<div class="col-sm-12">
<input type="text" class="form-control" id="inputNotes" value="Default">
</div>
</div>
<div class="form-group">
<div style="margin-lefT:4%;">
<button type="submit" class="btn btn-default">Submit Changes</button>
</div>
</div>
</form>
</div>
<select class="form-control" onfocus="this.blur()" id="inputSC" onchange="fillForm()">
function fillForm() {
var val = $('#inputSC').val() // selected value
val = val.replace('/', '-');
$.getJSON('/json/' + val, function (data) {
//printJSON(data);
$('#inputRack').val(data.rack);
$('#inputNotes').val(data.notes);
$('#inputComtrol').text(data.comtrol);
$('#inputPort').val(data.ctrl1.port);
$('#inputAPC').val(data.ctrl1.apc);
});
}