#javascript #html #thymeleaf
#javascript #HTML #thymeleaf
Вопрос:
<div class="col-md-4 bg-warning">状態</div>
<div class="col-md-8 pd-all-2px">
<select class="form-control" id="approvalstate" th:field="*{approvalstate}">
<option th:value="0" th:text="未返信"></option>
<option th:value="1" th:text="返信済"></option>
</select>
</div>
как отобразить модель, когда я выбираю значение «1» с помощью javascript?
только для значения «1»
Комментарии:
1. у вас есть javascript для этого?
2. нет, я не знаю, как создать код javascript
Ответ №1:
Добро пожаловать в Stack Overflow! Я помогу вам с этим, но, пожалуйста, найдите время, чтобы прочитать документацию и изучить. Отличная библиотека, которая упростит написание Javascript, — это jQuery.
Способ jQuery:
$('#approvalstate').on('change', function() {
if($(this).val() == 1) {
//Execute true logic
} else {
//Execute false logic
}
});
Способ, отличный от jQuery:
document.getElementById('approvalstate').addEventListener('onchange', function(e) {
if(e.value == 1) {
//Execute true logic
} else {
//Execute false logic
}
});
Комментарии:
1. Пожалуйста, используйте способ, отличный от jQuery, если вы не включаете файл javascript jQuery (чего, я думаю, вы не сделали).
2. @denimaya сработал ли этот или другой ответ для вас? Если да, пожалуйста, отметьте тот, который помог вам больше всего, как «ответ», используя галочку слева от нашего поста.
Ответ №2:
@Matthew почти корректен с использованием jQuery, но именно так его и следует использовать. В противном случае вы получите пустое возвращаемое значение, поскольку у вас нет значения в ваших параметрах.
<script>
$(function() {
$('#approvalstate').change(function() {
var selected = $(this).find('option:selected');
if(selected.length) {
var value = selected.attr('th:value');
if(value === '1') {
console.log('1 selected');
}
}
});
});
</script>
Ответ №3:
Используйте приведенный ниже код для решения проблемы. я использовал bootstrap model и jquery для решения этой проблемы.
$('#approvalstate').change(function() {
var selected = $(this).find('option:selected').val();
if(selected != 0) {
$('#myModal').modal('show');
console.log(selected);
}
});
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.0/css/bootstrap.min.css" rel="stylesheet"/>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.0/js/bootstrap.min.js"></script>
<div class="col-md-4 bg-warning">状態</div>
<div class="col-md-8 pd-all-2px">
<select class="form-control" id="approvalstate">
<option>0</option>
<option>1</option>
</select>
</div>
<div class="container">
<h2>Modal Example</h2>
<!-- Trigger the modal with a button -->
<button type="button" class="btn btn-info btn-lg" data-toggle="modal" data-target="#myModal">Open Modal</button>
<!-- Modal -->
<div class="modal fade" id="myModal" role="dialog">
<div class="modal-dialog">
<!-- Modal content-->
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">amp;times;</button>
<h4 class="modal-title">Modal Header</h4>
</div>
<div class="modal-body">
<p>Some text in the modal.</p>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
</div>
</div>
</div>
</div>
</div>