Javascript 更改文本标签,其中包含输入复选框元素
我的表单上有这部分html:Javascript 更改文本标签,其中包含输入复选框元素,javascript,jquery,html,label,innerhtml,Javascript,Jquery,Html,Label,Innerhtml,我的表单上有这部分html: <label class="ideal-radiocheck-label" onclick=""> <input id="pagamento_8" class="_input " type="checkbox" onclick="half(this,value);" checked="" value="980" name="pagamento[]" style="position: absolute; left: -9999px;" aut
<label class="ideal-radiocheck-label" onclick="">
<input id="pagamento_8" class="_input " type="checkbox" onclick="half(this,value);" checked="" value="980" name="pagamento[]" style="position: absolute; left: -9999px;" autocomplete="off">
<span class="ideal-check checked"></span>
988 (980-980 €)
</label>
988 (980-980 €)
它是一个复选框输入按钮,用于调用函数half(),使其类似于调用下一个函数:
function setClickedLabel(clicked,new_value){
label_e=$(clicked).parent();
label_t=$(label_e).text();
labels_t=label_t.split('-');
$(label_e).html(labels_t[0]+'-'+new_value+' €)'); <-- 1
//$(label_e).text(labels_t[0]+'-'+new_value+' €)'); <-- 2
//$(label_e).innerHTML = labels_t[0]+'-'+new_value+' €)'; <-- 3
}
函数设置ClickedLabel(单击,新值){
label_e=$(单击).parent();
label_t=$(label_e).text();
labels_t=label_t.split('-');
$(label_e).html(labels_t[0]+'-'+new_value+'€);修改我编写的解决方案的注释左侧的脚本。可能还有其他更好的解决方案
function setClickedLabel(clicked,new_value,old_value){
label = $(clicked).parent().contents().filter(function() {
return this.nodeType === 3 && this.nodeValue.trim().length;
}).get(0);
label.nodeValue = label.nodeValue.replace(new RegExp("-"+old_value), "-"+new_value);
}
什么是half()
?为什么要调用它?我想你只是把它放错了setClickedLabel()
value
在这个范围内可能是未定义的,但是你传递的是this
,所以只需在函数中单击value
?获取textnode(