如何合并2个不同的jquery事件函数?

如何合并2个不同的jquery事件函数?,jquery,click,keyup,Jquery,Click,Keyup,我需要将值从文本输入和无线电输入字段传递到隐藏文本输入。单独输入时,所有项都可以正常工作,但触发时,每个项都会替换另一项。我需要把收音机附加到文本输入上 $(function() { $("#text").keyup(function() { var text = ($("#text").val() != "" ? $("#text").val()+"," : ""); $("#hidden").val(text); }); $("input[name=radio]"

我需要将值从文本输入和无线电输入字段传递到隐藏文本输入。单独输入时,所有项都可以正常工作,但触发时,每个项都会替换另一项。我需要把收音机附加到文本输入上

$(function() {
  $("#text").keyup(function() {
    var text = ($("#text").val() != "" ? $("#text").val()+"," : "");
    $("#hidden").val(text);
  });
  $("input[name=radio]").click(function() {
    var radio = $("input[name=radio]:checked").val();
    $("#hidden").val(radio);
  });
});
我需要什么作为输出 我试过的 但是没有返回任何值

如何连接keyup()click()事件的输出?

试试这个

函数getText(){ var text=[],val=$.trim($(“#text”).val()),$rad=$(“输入[name=radio]:选中”); if(val)text.push(val); 如果($rad.length>=1)text.push($rad.val()); $(“#隐藏”).val(text.join(“,”); } $(函数(){ $(“#文本”)。打开(“输入”,获取文本); $(“input[name=radio]”); }); 试试这个

函数getText(){ var text=[],val=$.trim($(“#text”).val()),$rad=$(“输入[name=radio]:选中”); if(val)text.push(val); 如果($rad.length>=1)text.push($rad.val()); $(“#隐藏”).val(text.join(“,”); } $(函数(){ $(“#文本”)。打开(“输入”,获取文本); $(“input[name=radio]”); });
试试这个,效果很好


var radioValue=“”;
var text=“”;
$(函数(){
$(“#text”).keyup(函数(){
text=($(“#text”).val()!=”?$(“#text”).val()+,“:”;
if($(“输入[name='gender']:选中”).val()!=未定义){
checkedValue=$(“输入[name='gender']:选中”).val();
}
否则{
checkedValue=“”
}
$(“#隐藏”).text(text+”--“+checkedValue);
});
$(“输入[name='gender'])。单击(函数(){
textValue=$(“#text”).val();
radioValue=$(“输入[name='gender']:选中”).val();
$(“#隐藏”).text(textValue+”--“+radioValue);
});
});


男性 女性

试试这个,效果很好


var radioValue=“”;
var text=“”;
$(函数(){
$(“#text”).keyup(函数(){
text=($(“#text”).val()!=”?$(“#text”).val()+,“:”;
if($(“输入[name='gender']:选中”).val()!=未定义){
checkedValue=$(“输入[name='gender']:选中”).val();
}
否则{
checkedValue=“”
}
$(“#隐藏”).text(text+”--“+checkedValue);
});
$(“输入[name='gender'])。单击(函数(){
textValue=$(“#text”).val();
radioValue=$(“输入[name='gender']:选中”).val();
$(“#隐藏”).text(textValue+”--“+radioValue);
});
});


男性 女性

请单击然后单击
[]
stacksnippet编辑器并生成一个-您需要在事件处理程序中添加文本和收音机添加一个hiddenText和一个hiddenRadio输入,然后根据您的逻辑填充文本。然后您可以将这两个隐藏字段组合起来。@nadal试试我的代码,效果很好。请单击然后
[]
stacksnippet编辑器并生成一个-您需要在事件处理程序中添加文本和收音机添加一个hiddenText和一个hiddenRadio输入,您可以在其中根据逻辑填充文本。然后你就可以把这两个隐藏的字段组合起来。@nadal试试我的代码,它很好用。你的建议肯定很好用,但是@mplungjan的方法是可扩展的,简单的,而且是我以前尝试过的方法,但是我创建了两个独立的自定义函数。非常感谢。你的建议确实很有效,但是@mplungjan的方法是可扩展的,简单的,并且是我以前尝试过的方法,但是它创建了两个单独的自定义函数。非常感谢,太好了。然而,我更喜欢你以前的简单方法。我的整个过程是将18个字段的值发送到单个隐藏字段,因此更具防御性的编码将使其更加复杂。然后,在按下时,您可以在字段名称上循环。非常好。然而,我更喜欢你以前的简单方法。我的整个过程是将18个字段的值发送到单个隐藏字段,因此更具防御性的编码将使其更加复杂。然后,在按下时,可以循环字段名。
$("#hidden").val(text + radio);
$(function() {
  $("#text").keyup(function() {
    var text = ($("#text").val() != "" ? $("#text").val()+"," : "");
  });
  $("input[name=radio]").click(function() {
    var radio = $("input[name=radio]:checked").val();
  });

  $("#hidden").val(text + radio);
});