我想让我的输入框始终显示最后一个复选框的值.
这是我的尝试,但它不起作用:
<input type="text" name="status" value="blue" class="status"/>
<div class="checkbox"><input type='checkbox' value='blue' checked/> blue</div>
<div class="checkbox"><input type='checkbox' value='green' checked/> green</div>
<div class="checkbox"><input type='checkbox' value='yellow' checked/> yellow</div>
$("input").change(function(){
$('.status').val($('input:checkbox:last'));
});
Run Code Online (Sandbox Code Playgroud)
https://jsfiddle.net/4csbmtad/
也许你有我的建议!
我正在进行更新,我忘了:如果没有选中任何内容,那么我需要在输入字段中显示"没有选中"这个词
您可以使用选择器作为 :checkbox:checked:last
.
$("input").change(function() {
var $chk = $(':checkbox:checked:last');
$('.status').val($chk.length ? $chk.val() : 'nothing is selected');
}).change();Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<input type="text" name="status" value="blue" class="status" />
<div class="checkbox">
<input type='checkbox' value='blue' checked/>blue</div>
<div class="checkbox">
<input type='checkbox' value='green' checked/>green</div>
<div class="checkbox">
<input type='checkbox' value='yellow' checked/>yellow</div>Run Code Online (Sandbox Code Playgroud)
更新:检查length选择器的属性以检查是否至少检查了一个.