Javascript 使用jQuery在表中获取dropbox和textbox值
我想做一件容易的事。从一个表行onfocus事件中获取值。 我有一个糟糕的实践作业,在不点击按钮的情况下插入数据库,所以我决定对行中的最后一个单元格使用onfocus事件 问题是我对jquery和javaScript非常陌生,所以我很难选择这个dropbox和textbox并将值输入变量,稍后我将使用Ajax将这些值传递给代码 有人能帮我解决这个问题吗 为了简单起见,这是其中一行的HTML,所有其他行都是相同的,表是静态的:Javascript 使用jQuery在表中获取dropbox和textbox值,javascript,jquery,html,asp.net,Javascript,Jquery,Html,Asp.net,我想做一件容易的事。从一个表行onfocus事件中获取值。 我有一个糟糕的实践作业,在不点击按钮的情况下插入数据库,所以我决定对行中的最后一个单元格使用onfocus事件 问题是我对jquery和javaScript非常陌生,所以我很难选择这个dropbox和textbox并将值输入变量,稍后我将使用Ajax将这些值传递给代码 有人能帮我解决这个问题吗 为了简单起见,这是其中一行的HTML,所有其他行都是相同的,表是静态的: <table class="default-table" id=
<table class="default-table" id="tblTest">
<tr>
<td>
<select name="client" class='client'>
<option>Choose client</option>
<option>Client 1</option>
<option>Client 2</option>
</select>
</td>
<td>
<select name="project" class='project'>
<option>Choose project</option>
<option>Project 1</option>
<option>Project 2</option>
</select>
</td>
<td>
<select>
<option>Choose category</option>
<option>Front-End Development</option>
<option>Design</option>
</select>
</td>
<td>
<input type="text" class="in-text medium" name="description" />
</td>
<td class="small">
<input type="text" class="in-text xsmall" name="time" />
</td>
<td class="small">
<input type="text" class="in-text xsmall" name="time" />
</td>
</tr>
<tr>
<td>
<select>
<option>Choose client</option>
<option>Client 1</option>
<option>Client 2</option>
</select>
</td>
<td>
<select>
<option>Choose project</option>
<option>Project 1</option>
<option>Project 2</option>
</select>
</td>
<td>
<select>
<option>Choose category</option>
<option>Front-End Development</option>
<option>Design</option>
</select>
</td>
<td>
<input type="text" class="in-text medium" />
</td>
<td class="small">
<input type="text" class="in-text xsmall" />
</td>
<td class="small">
<input type="text" class="in-text xsmall" />
</td>
</tr>
</table>
选择客户
客户1
客户2
选择项目
项目1
项目2
选择类别
前端开发
设计
选择客户
客户1
客户2
选择项目
项目1
项目2
选择类别
前端开发
设计
我一直在尝试使用jquery获取一些值,但其中没有一种工作正常:
<script type="text/javascript">
$("#tblTest td:nth-child(6)").focusout(function (event) {
var $td = $(this).closest('tr').children('td');
// tr2 use to be value of id attribute for <tr>, but I deleted it because I want to
// use same script for each row
//var time = $('#tr2 td.eq(5) input').text();
//var client = $('#tr2 td.eq(1)').text();
var project = ('$td.eq(2) select option:selected').text();
var overtime = $td.eq(6).text();
});
</script>
$(“#tblTest td:n个孩子(6)”).focusout(函数(事件){
var$td=$(this).closest('tr')。children('td');
//tr2用作的id属性的值,但我删除了它,因为我想删除它
//对每行使用相同的脚本
//var time=$('#tr2 td.eq(5)input').text();
//var client=$('#tr2 td.eq(1)').text();
var项目=('$td.eq(2)选择选项:selected').text();
var超时=$td.eq(6.text();
});
我怎样才能得到这个值?非常感谢 您可以这样做:-
$("#tblTest td:nth-child(6)").focusout(function () {
var parentRow = $(this).parents('tr')[0];
var time = $('input[name="time"]', parentRow).val();
var client = $('.client option:selected', parentRow).text();
var project = $('.project option:selected',parentRow).text();
var overtime = $('input[name="overtime"]', parentRow).val();
//Similarly you can find other values
});
注意:我想你上次输入了两次
time
textbox,所以我认为这是超时。id为“tr2”的元素在哪里?@frosdq抱歉,我忘了删除它。我尝试过给id,但我意识到它无法像这样获得每一行的值。如果可能的话,使用类名可能是更好的方法。我现在要删除:)这对我帮助很大!非常感谢你!:)