Javascript 更改文本标签,其中包含输入复选框元素

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

我的表单上有这部分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;" 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(