Javascript Jquery需要同级值,但不起作用
当有人点击相应的复选框时,我想填充“需求”输入框中“eventTitle”的值。i、 e如果在Vels仪表组的复选框上选中某个复选框,则我希望该复选框自动填充到名为“Requirement”的文本框中。如果单击多个复选框,我希望它以逗号分隔。下面是我试图获取的代码,但它不起作用并且没有定义Javascript Jquery需要同级值,但不起作用,javascript,jquery,Javascript,Jquery,当有人点击相应的复选框时,我想填充“需求”输入框中“eventTitle”的值。i、 e如果在Vels仪表组的复选框上选中某个复选框,则我希望该复选框自动填充到名为“Requirement”的文本框中。如果单击多个复选框,我希望它以逗号分隔。下面是我试图获取的代码,但它不起作用并且没有定义 <div class="wid100"> <div class="eventTitle">Vels Group Of Instutions</div>
<div class="wid100">
<div class="eventTitle">Vels Group Of Instutions</div>
<div class="eventDate">2017-07-25</div>
<div class="eventVenue">This is world wide institute of technology </div>
<div class="selectEvent">
<input type="checkbox" class="seminar selected" id="179">
<label for="179"></label>
</div>
</div>
<div class="wid100">
<div class="eventTitle">Title goes here</div>
<div class="eventDate">2017-07-25</div>
<div class="eventVenue">sdfdsafasdfdsafdsafsadfsdfsdf </div>
<div class="selectEvent">
<input type="checkbox" class="seminar" id="179">
<label for="179"></label>
</div>
</div>
<input type="text" name="Requirement" placeholder="Title 01" id="divclass" required="required" class="pull-left" />
<script type="text/javascript" src="js/jquery-1.9.1.js"></script>
<script type="text/javascript" src="js/jquery-ui.js"></script>
.eventTitle
不是.selected
的同级元素,.eventTitle是一个没有值的div元素,其中包含文本。换行
event_title = $(".selected").siblings('.eventTitle').val();
到
或
您遇到的问题是因为
.eventTitle
不是单击复选框的同级,因此DOM遍历逻辑是错误的div
元素也没有val()
,因此应该使用text()
或html()
但是,您可以通过使用map()
构建一个数组来改进逻辑,还可以实现所选事件标题的逗号分隔列表,然后在设置\divclass
的值之前,可以join()
。试试这个:
$(“.seminar”)。单击(函数(){
$(this.toggleClass('selected',this.checked));
var eventNames=$('.seminar:checked').map(函数(){
返回$(this).closest('.wid100').find('.eventTitle').text();
}).get().join(',');
$('#divclass').val(事件名称);
});代码>
Vels仪器组
2017-07-25
这是世界理工学院
标题在这里
2017-07-25
SDFDSAFASDFDSAFDSAFSADFSDFDF
.eventTitle
不是.selected
的兄弟姐妹。它是其父级的兄弟姐妹,即。selectEvent
RAUSHAN KUMAR非常感谢这一切正常,一个首次出现的父级文本即将出现,如果未选中表示父级文本已删除,将如何编写此文本请帮助我。如何将“event\u title”文本值传递给其他输入类型文本框“divclass”要设置其他div的文本,请使用$('#divclass').val(eventNames)代码>RAUSHAN KUMAR,这很好,非常感谢您,先生。
event_title = $(this).parent().siblings('.eventTitle').text();
event_title = $(this).parent().siblings('.eventTitle').html();