Javascript 基于复选框选择更新文本框jquery
我想用Jquery实现以下功能Javascript 基于复选框选择更新文本框jquery,javascript,jquery,html,checkbox,jsf-2.2,Javascript,Jquery,Html,Checkbox,Jsf 2.2,我想用Jquery实现以下功能 有多个行程,每个行程都有复选框和文本框 每当选中复选框时,文本框中与该复选框对应的值必须更新为“1” 每当客户在文本框中输入时,应选中复选框 <input type="checkbox" id="ckval1" class="checkvaloare" />Trip 1 <a href="">sad</a><a href="">ssad</a> <input type="text" id="te
- 有多个行程,每个行程都有复选框和文本框
- 每当选中复选框时,文本框中与该复选框对应的值必须更新为“1”
- 每当客户在文本框中输入时,应选中复选框
但这不起作用,当我使用JSF标记<input type="checkbox" id="ckval1" class="checkvaloare" />Trip 1 <a href="">sad</a><a href="">ssad</a> <input type="text" id="text1" class="ckval" size="2" /> <br/> <input type="checkbox" id="ckval2" class="checkvaloare" />Trip 2 <a href="">sad</a><a href="">sassad</a> <input type="text" id="text2" class="ckval" size="2" />
时,它也不起作用
仅获取下一个同级元素。在您的例子中,复选框后面的下一个同级元素是标记。在所需输入之前有两组标记,这就是为什么它在3'next()之后适用于您。当然,使用3nexts并不是很好,如果您在其中添加了另一个元素,它将很容易被破坏 使用next()
它将查找下一个ckval输入,而不是下一个元素。您需要使用
和nextAll
(以及prevAll
伪选择器),因为您的复选框和文本框之间有锚定 我还将第一个
事件更改为单击
更改
$(function () { $("input[type=checkbox]").on('change', function () { $(this).nextAll('.ckval:first').val($(this).is(':checked') ? '1' : '0'); }); $("input[type=text]").on('keyup', function () { if ($(this).val()) { $(this).prevAll('.checkvaloare:first').prop('checked', true); } else { $(this).prevAll('.checkvaloare:first').prop('checked', false); } }); });
功能是否在单击时启动?是。。onclick是事件我的意思是在click事件中放置一个警报或日志,以确保click处理程序正确无误。。但错误是。。它没有通过
获取输入字段。如果我使用.next()
三次,它就会工作了啊,明白了。我将在下面回答。.next()
nextAll('.ckval:first')
$(function () { $("input[type=checkbox]").on('change', function () { $(this).nextAll('.ckval:first').val($(this).is(':checked') ? '1' : '0'); }); $("input[type=text]").on('keyup', function () { if ($(this).val()) { $(this).prevAll('.checkvaloare:first').prop('checked', true); } else { $(this).prevAll('.checkvaloare:first').prop('checked', false); } }); });