[英]Loop through list element and add text to the input value in jquery
基本上我想遍历并从第一个ul获取文本,然后将其附加到.second ul的输入值
<ul class="first">
<li>
<p>test one </p>
</li>
</ul>
<ul class="second">
<li>
<input type="radio" name="wis_con_q10_q3" value="Yes">
<input type="radio" name="wis_con_q10_q3" value="No" checked="">
</li>
</ul>
<ul class="first">
<li>
<p>text two </p>
</li>
</ul>
<ul class="second">
<li>
<input type="radio" name="wis_con_q10_q4" value="Yes">
<input type="radio" name="wis_con_q10_q4" value="No" checked="">
</li>
</ul>
我试图以这种方式应用,但无法正常工作
$("ul.first li p").each(function () {
$("ul.second li input").val($("ul.second li input").val() + "_" + $(this).text());
});
这就是我想要实现的
<input type="radio" name="wis_con_q10_q4" value="Yes_text two ">
<input type="radio" name="wis_con_q10_q4" value="No_text two " checked="">
你可以这样使用
$(".first").each(function () {
var radio = $(this).next().find("input[type='radio']");
var value=$(this).find("p").text();
radio.each(function(){
$(this).val($(this).val() + "_"+ value );
});
});
由于您可以在jquery的.val(fn)
方法中传递函数以返回值,因此我们可以使用该函数来获得所需的输出。 每当您在其中使用函数时,都必须使用return
关键字返回值。
用这个:
$("input[type='radio']").val(function(){
return this.value + '_' + $(this).closest('ul').prev('ul').find('p').text().trim();
});
$("input[type='radio']").val(function() { return this.value + '_' + $(this).closest('ul').prev('ul').find('p').text().trim(); });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <ul class="first"> <li> <p>test one</p> </li> </ul> <ul class="second"> <li> <input type="radio" name="wis_con_q10_q3" value="Yes"> <input type="radio" name="wis_con_q10_q3" value="No" checked=""> </li> </ul> <ul class="first"> <li> <p>text tow</p> </li> </ul> <ul class="second"> <li> <input type="radio" name="wis_con_q10_q4" value="Yes"> <input type="radio" name="wis_con_q10_q4" value="No" checked=""> </li> </ul>
您必须检查以查看值。
$("ul.first li p").each(function (index,val) {
$("ul.second li input").eq(index).val($("ul.second li input").val() + "_" + $(this).text());
});
jQuery中的.each将索引和值作为参数发送,可以将其与.eq(nb)一起使用以获取nb元素。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.