Javascript 如何从a<;中的所有输入元素获取值;tr>;使用JQuery的元素

Javascript 如何从a<;中的所有输入元素获取值;tr>;使用JQuery的元素,javascript,jquery,html,Javascript,Jquery,Html,如何获取表单中一行中的所有输入元素? 例如,在下面的代码片段中,我有一个复选框和一个文本输入框。我希望获得这两种输入类型的值,并在包含div id=“hist”元素的下一个td元素中向用户显示它们 头部 脖子 UE 我还有5个单选按钮和一个文本输入框。这些都不在同一行,但我想得到“pain1”元素和“cerCommentH”元素的值并显示它。请注意,下面只是一个代码片段。我的表单中有几个这样的元素,所以我无法使用它们的“id”单独处理它们 机械 痛a 疼痛b 疼痛c 疼痛d 其他 提前感谢

如何获取表单中一行中的所有输入元素? 例如,在下面的代码片段中,我有一个复选框和一个文本输入框。我希望获得这两种输入类型的值,并在包含div id=“hist”元素的下一个td元素中向用户显示它们

头部
脖子
UE
我还有5个单选按钮和一个文本输入框。这些都不在同一行,但我想得到“pain1”元素和“cerCommentH”元素的值并显示它。请注意,下面只是一个代码片段。我的表单中有几个这样的元素,所以我无法使用它们的“id”单独处理它们


机械
痛a
疼痛b
疼痛c
疼痛d
其他
提前感谢您的帮助。

如果需要序列化()方法,请:

var result = '';
$('tr input').each(function(){
    result += $(this).attr('name')+'='+$(this).val()+'&'
})
//post result after all

假设您想对每一个都做些什么:

$('tr:has(input)').each(function() {
   var row = this;
   var values = "";
   $('input', this).each(function() {
      values =  values + "," + $(this).val() 
   });
   values = "<div>(" + values.substring(1) + ")</div>";

   $('.hist', row).html(values); 
});
$('tr:has(input)')。每个(函数(){
var row=此;
var值=”;
$('input',this).each(函数(){
values=values+“,”+$(this).val()
});
values=“(“+values.substring(1)+”);
$('.hist',row.html(值);
});

您可以将其序列化为一个数组,然后使用serializeArray将其作为数据直接输入jquery ajax方法

var rowIndex = 1; // row index to pull
// select all inputs that you desire to send, then use serializeArray();
var data = $("tr").eq(rowIndex).find("input").serializeArray();
$.post(url,data,onDoneHandler);

值将是不可读的字符串?:)和值+=$(this.val();是短的你是对的,但是我不知道他想用这些值做什么,所以我将把它留给OP。我确实意识到,
+=
是短的,但是为了可读性,我已经做了很长一段时间。@lucuma我想用输入字段中的值形成一个
,并将它显示给用户。比如(N/A-headcomment,Date)。然而,这段代码正在将“undefined-13-Jun-2012”插入到所有的
中,而不仅仅是输入字段的对应字段。这是我尝试的,只是对代码做了一些小小的更改
$('tr')。每个(function(){var row=this;var values;$('input[type=text],textarea,input[type=radio]:选中,input[type=checkbox]:选中',this).each(函数(){if($(this).val()!=null&&$(this).val()!=“”)值+=$(this.val();});$('.hist',row).text(值+“-”+”;
})`
//suppose trid is the id of the tr element
var all = $('#tr input');
//or if tr has no id, but table does have a id 'table1'
var tr = $('input', '#table1 tr:first');
$('tr:has(input)').each(function() {
   var row = this;
   var values = "";
   $('input', this).each(function() {
      values =  values + "," + $(this).val() 
   });
   values = "<div>(" + values.substring(1) + ")</div>";

   $('.hist', row).html(values); 
});
var rowIndex = 1; // row index to pull
// select all inputs that you desire to send, then use serializeArray();
var data = $("tr").eq(rowIndex).find("input").serializeArray();
$.post(url,data,onDoneHandler);