如何使用javascript更改标签值

时间:2014-04-28 13:05:13

标签: javascript label

我想从' 0'更改标签值感谢'在下面的标签上,在复选框点击事件上。

<input type="hidden" name="label206451" value="0" />
<label for="txt206451" class="swatch_text" >Chestnut Leather</label>
<input type="checkbox" name="field206451" class="swatch_check" id="txt206451" value="SELECTED"/>

Javascript如下。

var cb = document.getElementById('field206451');
var label = document.getElementById('label206451');
cb.addEventListener('click',function(evt){
    if(cb.checked){
        label.value='Thanks';
    }else{
        label.value='0';
    }
},false);

但这不起作用。有什么想法吗?

6 个答案:

答案 0 :(得分:9)

非常简单

$('#label-ID').text("label value which you want to set");

答案 1 :(得分:5)

这适用于 Chrome

// get your input
var input = document.getElementById('txt206451');
// get it's (first) label
var label = input.labels[0];
// change it's content
label.textContent = 'thanks'

但看了之后,labels doesn't seem to be widely supported ..


您可以使用querySelector

// get txt206451's (first) label
var label = document.querySelector('label[for="txt206451"]');
// change it's content
label.textContent = 'thanks'

答案 2 :(得分:4)

name document.getElementById() cbtxt206451 name ID属性)不是var cb = document.getElementsByName('field206451')[0]; // First one 属性。

您可以document.getElementsByName()

获取它
var cb = document.getElementById('txt206451');

var cb = document.getElementById('txt206451');
var label = document.getElementsByName('label206451')[0]; // Get the first one of index
console.log(label);
cb.addEventListener('change', function (evt) { // use change here. not neccessarily
    if (this.checked) {
        label.value = 'Thanks'
    } else {
        label.value = '0'
    }
}, false);

将值设置为隐藏使用document.getElementsByName(),如下所示

{{1}}

Demo Fiddle

答案 3 :(得分:1)

尝试

使用id隐藏字段,并在javascript中使用checkbox的ID。

并更改ClientIDMode="static"

<input type="hidden" ClientIDMode="static" id="label1" name="label206451" value="0" />

   <script type="text/javascript"> 
    var cb = document.getElementById('txt206451');
    var label = document.getElementById('label1');
    cb.addEventListener('click',function(evt){
    if(cb.checked){
        label.value='Thanks'
    }else{
        label.value='0'
    }
    },false);
    </script>

答案 4 :(得分:1)

基于您的代码,我创建了这个Fiddle
你需要使用

var cb = document.getElementsByName('field206451')[0];
var label = document.getElementsByName('label206451')[0];


如果你想使用名称属性,那么你必须采用索引,因为它是一个项目列表,而不仅仅是一个项目。其他一切都很好。

答案 5 :(得分:0)

希望这对其他人有帮助: 使用innerHTML来使用标签对象。

  document.getElementById('lableObject').innerHTML = res.FullName;