0
我想在用戶完成時動態地將字段輸入添加到表單中。但是,如果用戶更改其他人依賴的先前字段的值,則我希望再次隱藏這些更新的字段,並將其值重置爲默認值。我可以毫無問題地顯示和隱藏輸入字段。但是,無論我做什麼,我都無法更改選擇下拉菜單的值。在Java Play Framework中使用JQuery更新下拉選擇
這裏是我的腳本:
$(function() {
$('#type_selection').change(function() {
var case_type = $('#type_selection :selected').val();
if(case_type !== "") { //the default value is an empty string
$('.subtype-panel').slideDown('slow');
}
else {
$('.subtype-panel').slideUp('slow');
$('#subytype_selection').val("").change();
}
});
});
播放模板:
@(caseForm: play.data.Form[Case])
@import views.html.common._
@import models._
@implicitFieldConstructor = @{
b3.vertical.fieldConstructor
}
@main("New Case Info") {
<div class="page-header">
<h3>New Case Information<span class="pull-right label label-primary">Open</span></h3>
</div>
<fieldset>
@b3.form(action = routes.CaseController.save()) {
<div class="panel panel-primary">
<div class="panel-heading">Case Type</div>
<div class="panel-body">
<div class="row">
<div class="col-md-4">
@b3.select(caseForm("caseType"),
options = options(Case.typeOptions),
'_id -> "type_selection",
'_label -> "Case Type",
'_default -> "-- Select a Type --")
</div>
<div class="col-md-3">
@datePicker(caseForm("date"), '_label -> "Date", 'placeholder -> "mm/dd/yyyy")
</div>
</div>
</div>
</div>
<div class="panel panel-primary subtype-panel">
<div class="panel-heading">Case Subtype</div>
<div class="panel-body">
<div class="row">
<div class="col-md-4">
@b3.select(caseForm("caseSubType"),
options = options(Case.subTypeOptions),
'_id -> "subtype_selection",
'_label -> "Subtype",
'_default -> "-- Select a Subtype --")
</div>
</div>
</div>
</div>
}
</fieldset>
}
的B3語法可能有些奇怪你。它來自播放引導程序庫:http://adrianhurt.github.io/play-bootstrap/ 對於b3選擇字段,默認選項會自動分配一個空字符串的值。這就是我想要改變我的選擇選擇回到使用JQuery。
您是否檢查過'b3'生成的'id'?我認爲如果你想覆蓋它,你應該使用:''id - >「type_selection」',所以不用下劃線 – adis
@adis工作!我並不知道b3的這個規則。謝謝! – Kaitrono