jQuery在行中查找id为的元素
我有一个简单的表,我试图使用jQuery将cells.name和.date中的文本值发送到表单中。这个脚本运行得很好,但我不知道如何使用class.name只查找文本,例如,仅在这一行中,用户在其中单击了Book按钮 我的表格结构:jQuery在行中查找id为的元素,jquery,Jquery,我有一个简单的表,我试图使用jQuery将cells.name和.date中的文本值发送到表单中。这个脚本运行得很好,但我不知道如何使用class.name只查找文本,例如,仅在这一行中,用户在其中单击了Book按钮 我的表格结构: <table id="myTable"> <thead> <tr> <th>Name</th> <th>Date</th> <th
<table id="myTable">
<thead>
<tr>
<th>Name</th>
<th>Date</th>
<th>Place</th>
<th>Price</th>
<th>Hours</th>
<th>Book</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><a href="#" title="title1">Camp1</a></td> //send to form this value
<td class="date">10.09 - 15.09.2014 r.</td> //send to form this value
<td>Brighton</td>
<td>555 EURO</td>
<td>20</td>
<td class="book"><button>Book<button></td> //when user click on this button
</tr>
<tr>
<td class="name"><a href="#" title="title1">Camp2</a></td>
<td class="date">02.09 - 22.09.2014 r.</td>
<td>Brighton</td>
<td>432 EURO</td>
<td>20</td>
<td class="book"><button>Book<button></td>
</tr>
<tr>
<td class="name"><a href="#" title="title1">Camp3</a></td>
<td class="date">23.09 - 27.09.2014 r.</td>
<td>Brighton</td>
<td>123 EURO</td>
<td>20</td>
<td class="book"><button>Book<button></td>
</tr>
</tbody></table>
</tbody>
</table>
<script>
$( "button" ).click(function() {
var text = $( '.name' ).text();
$( "#name" ).val( text );
var text = $( '.date' ).text();
$( "#date" ).val( text );
});
</script>
<fieldset id="contact_form" style="display:none;">
<div id="result"></div>
<label for="name"><span>Name</span>
<input type="text" name="name" id="name" placeholder="Enter Your Name" />
</label>
<label for="email"><span>Email Address</span>
<input type="email" name="email" id="email" placeholder="Enter Your Email" />
</label>
<label><span> </span>
<button class="submit_btn" id="submit_btn">Submit</button>
</label>
</fieldset>
<button c
lass="submit_btn" id="submit_btn">Submit</button>
</label>
</fieldset>
名称
日期
放置
价格
小时
书
//发送以形成此值
2014年9月10日至9月15日r//发送以形成此值
布莱顿
555欧元
20
Book//当用户单击此按钮时
2014年9月2日至9月22日r。
布莱顿
432欧元
20
书
2014年9月23日至27日r。
布莱顿
123欧元
20
书
我的脚本:
<table id="myTable">
<thead>
<tr>
<th>Name</th>
<th>Date</th>
<th>Place</th>
<th>Price</th>
<th>Hours</th>
<th>Book</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><a href="#" title="title1">Camp1</a></td> //send to form this value
<td class="date">10.09 - 15.09.2014 r.</td> //send to form this value
<td>Brighton</td>
<td>555 EURO</td>
<td>20</td>
<td class="book"><button>Book<button></td> //when user click on this button
</tr>
<tr>
<td class="name"><a href="#" title="title1">Camp2</a></td>
<td class="date">02.09 - 22.09.2014 r.</td>
<td>Brighton</td>
<td>432 EURO</td>
<td>20</td>
<td class="book"><button>Book<button></td>
</tr>
<tr>
<td class="name"><a href="#" title="title1">Camp3</a></td>
<td class="date">23.09 - 27.09.2014 r.</td>
<td>Brighton</td>
<td>123 EURO</td>
<td>20</td>
<td class="book"><button>Book<button></td>
</tr>
</tbody></table>
</tbody>
</table>
<script>
$( "button" ).click(function() {
var text = $( '.name' ).text();
$( "#name" ).val( text );
var text = $( '.date' ).text();
$( "#date" ).val( text );
});
</script>
<fieldset id="contact_form" style="display:none;">
<div id="result"></div>
<label for="name"><span>Name</span>
<input type="text" name="name" id="name" placeholder="Enter Your Name" />
</label>
<label for="email"><span>Email Address</span>
<input type="email" name="email" id="email" placeholder="Enter Your Email" />
</label>
<label><span> </span>
<button class="submit_btn" id="submit_btn">Submit</button>
</label>
</fieldset>
<button c
lass="submit_btn" id="submit_btn">Submit</button>
</label>
</fieldset>
$(“按钮”)。单击(函数(){
var text=$('.name').text();
$(“#名称”).val(文本);
var text=$('.date').text();
$(“#日期”).val(文本);
});
我的表格:
<table id="myTable">
<thead>
<tr>
<th>Name</th>
<th>Date</th>
<th>Place</th>
<th>Price</th>
<th>Hours</th>
<th>Book</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><a href="#" title="title1">Camp1</a></td> //send to form this value
<td class="date">10.09 - 15.09.2014 r.</td> //send to form this value
<td>Brighton</td>
<td>555 EURO</td>
<td>20</td>
<td class="book"><button>Book<button></td> //when user click on this button
</tr>
<tr>
<td class="name"><a href="#" title="title1">Camp2</a></td>
<td class="date">02.09 - 22.09.2014 r.</td>
<td>Brighton</td>
<td>432 EURO</td>
<td>20</td>
<td class="book"><button>Book<button></td>
</tr>
<tr>
<td class="name"><a href="#" title="title1">Camp3</a></td>
<td class="date">23.09 - 27.09.2014 r.</td>
<td>Brighton</td>
<td>123 EURO</td>
<td>20</td>
<td class="book"><button>Book<button></td>
</tr>
</tbody></table>
</tbody>
</table>
<script>
$( "button" ).click(function() {
var text = $( '.name' ).text();
$( "#name" ).val( text );
var text = $( '.date' ).text();
$( "#date" ).val( text );
});
</script>
<fieldset id="contact_form" style="display:none;">
<div id="result"></div>
<label for="name"><span>Name</span>
<input type="text" name="name" id="name" placeholder="Enter Your Name" />
</label>
<label for="email"><span>Email Address</span>
<input type="email" name="email" id="email" placeholder="Enter Your Email" />
</label>
<label><span> </span>
<button class="submit_btn" id="submit_btn">Submit</button>
</label>
</fieldset>
<button c
lass="submit_btn" id="submit_btn">Submit</button>
</label>
</fieldset>
名称
电子邮件地址
提交
提交
更好的是,在每个按钮周围都有一个
,其中包含该数据的
元素,即使没有启用JavaScript,它也可以工作
$("button").click(function() {
var text1 = $(this).closest('tr').find('.name').text();
alert(text);
$("#name").val( text1 );
var text2 = $(this).closest('tr').find('.date').text();
$("#date").val( text2 );
});
演示:
问题出在JavaScript中。您只需要针对用户单击的内容。这可以通过使用click回调函数中的
This
对象来完成
$( ".book button" ).click(function() {
var tr = $( this ).parents('tr');
$( "#name" ).val( tr.find('.name').text() );
$( "#date" ).val( tr.find('.date').text() );
});
其他说明:
- 只能使用
声明变量一次。然后,使用不带var
的变量var
不能用于在HTML中进行注释。您必须使用/
$(“按钮”)。单击(函数(){var text=$(this).parent(“tr”).children(.name”).text();})代码>查看此JSFIDLE
基本上,当您单击一个按钮时,您需要获取它的父元素,即行,然后使用给定的jquery选择器获取该行的同级
$("button").click(function () {
var _this = $(this);
var text = _this.parent().siblings('.name').text();
console.debug(text);
$("#name").val(text);
var date = _this.parent().siblings('.date').text();
console.debug(date);
$("#date").val(date);
});
在行中查找id为的元素,并使用jquery将其分配给其他元素
$(document).ready(function () {
$("button").click(function() {
//find content of different elements inside a row.
var nameTxt = $(this).closest('tr').find('.name').text();
var emailTxt = $(this).closest('tr').find('.email').text();
//assign above variables text1,text2 values to other elements.
$("#name").val( nameTxt );
$("#email").val( emailTxt );
});
});
如果使用嵌套表,.parents
将返回多个表行。最近的
是更好的选择。