Asp.net Javascript更改单选按钮的文本

Asp.net Javascript更改单选按钮的文本,asp.net,javascript,Asp.net,Javascript,我在Javascript中使用以下方法 Function JsChangeRBText(itemCheckBox, rbClientId) { var optVal = document.getElementById(rbClientId); if(itemCheckjBox.checked) { optVal.innerText = 'abc'; } else { optVal.innerText = 'xyz

我在Javascript中使用以下方法

Function JsChangeRBText(itemCheckBox, rbClientId)
{
   var optVal = document.getElementById(rbClientId);
   if(itemCheckjBox.checked)
   {
        optVal.innerText = 'abc';
    }       
   else
   {
        optVal.innerText = 'xyz';
    }       
}
这里rbclientId是单选按钮的客户端id。我想在复选框选中或未选中的情况下更改其文本。但是使用上面的代码我无法完成它。我是否遗漏了什么。我还尝试了innerHTML。当我使用alert使用innerText和innerHTML获取当前文本时,两者都为空。但在警报中,我可以看到rbClientId的id和值。

HTML:

<input type="radio" /><label>Option 1</label>
HTML:


首先像这样声明单选按钮

<input type="radio" id="rb" runat="server"/>
<label for="<%=rb.ClientID%>">option 1</label>

首先像这样声明单选按钮

<input type="radio" id="rb" runat="server"/>
<label for="<%=rb.ClientID%>">option 1</label>

没有测试,但我想这应该是可行的。如果不起作用,请务必回复

<asp:CheckBox
         ID="CheckBox1"
         runat="server"
         Text="Set Radio Checked"
         OnCheckedChanged="setText(this, document.getElementById('RadioButton1'))"
         AutoPostBack="true"
 />
<asp:RadioButton   
         ID="RadioButton1"   
         runat="server"  
         Text="Red"  
         GroupName="group1" 
/>

<script runat="server">  
    protected void setText(checkBox, radioBtn)  
    {  
        if (checkBox.Checked == true) {  
            radioBtn.Text = "abc";
        }  
        else{  
            radioBtn.Text = "xyz";
        }
    }  
</script>  

受保护的void setText(复选框,radioBtn)
{  
如果(checkBox.Checked==true){
radioBtn.Text=“abc”;
}  
否则{
radioBtn.Text=“xyz”;
}
}  

未测试,但我想这应该可以。如果不起作用,请务必回复

<asp:CheckBox
         ID="CheckBox1"
         runat="server"
         Text="Set Radio Checked"
         OnCheckedChanged="setText(this, document.getElementById('RadioButton1'))"
         AutoPostBack="true"
 />
<asp:RadioButton   
         ID="RadioButton1"   
         runat="server"  
         Text="Red"  
         GroupName="group1" 
/>

<script runat="server">  
    protected void setText(checkBox, radioBtn)  
    {  
        if (checkBox.Checked == true) {  
            radioBtn.Text = "abc";
        }  
        else{  
            radioBtn.Text = "xyz";
        }
    }  
</script>  

受保护的void setText(复选框,radioBtn)
{  
如果(checkBox.Checked==true){
radioBtn.Text=“abc”;
}  
否则{
radioBtn.Text=“xyz”;
}
}  

我知道这个问题已经解决了,但发布此解决方案以防对其他人有用

但这里我使用了Jquery

<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<script>
    Function JsChangeRBText(itemCheckBox, rbClientId)
    {
       var optVal = document.getElementById(rbClientId);
       if(itemCheckjBox.checked)
       {
            $("label[for='" + rbClientId + "']").text('abc');
        }       
       else
       {
            $("label[for='" + rbClientId + "']").text('xyz');
        }       
    }
</script>

函数JsChangeRBText(itemCheckBox,rbClientId)
{
var optVal=document.getElementById(rbClientId);
if(itemCheckjBox.checked)
{
$(“label[for='”+rbClientId+“']”)text('abc');
}       
其他的
{
$(“label[for='”+rbClientId+“']”)text('xyz');
}       
}

我知道这个问题已经解决了,但发布此解决方案以防对其他人有用

但这里我使用了Jquery

<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<script>
    Function JsChangeRBText(itemCheckBox, rbClientId)
    {
       var optVal = document.getElementById(rbClientId);
       if(itemCheckjBox.checked)
       {
            $("label[for='" + rbClientId + "']").text('abc');
        }       
       else
       {
            $("label[for='" + rbClientId + "']").text('xyz');
        }       
    }
</script>

函数JsChangeRBText(itemCheckBox,rbClientId)
{
var optVal=document.getElementById(rbClientId);
if(itemCheckjBox.checked)
{
$(“label[for='”+rbClientId+“']”)text('abc');
}       
其他的
{
$(“label[for='”+rbClientId+“']”)text('xyz');
}       
}
使用文本内容。这是我的工作


使用文本内容。这是我的工作。

谢谢回复。但是我正在使用Javascript。。。请在jscript.thanx中建议解决方案以供回复。但是我正在使用Javascript。。。请用jscript提供解决方案。@Pawan Nogariya,但这是一个hTML控件。。可以使用asp控件更改单选按钮的文本。您可以在代码隐藏中访问它,因为它是runat=“server”控件。我使用这个作为asp控件。这段代码有什么问题吗。asp:RadioButton在不同的浏览器中呈现方式不同,因此出于安全考虑,我们应该使用html单选按钮@Pawan Nogariya,但这是一个html控件。。可以使用asp控件更改单选按钮的文本。您可以在代码隐藏中访问它,因为它是runat=“server”控件。我使用这个作为asp控件。此代码中是否存在任何问题。asp:RadioButton在不同浏览器中呈现方式不同,因此出于安全考虑,我们应该使用html RadioButton,但当前label.value未定义。控件不在If条件内。我认为方法next()中存在一些问题。您能在问题中发布asp控件标记吗。。。还有你如何调用js函数..@A.V.非常感谢。你的第一个答案就解决了这个问题。使用optVal.nextSibling。Thanx.but current label.value未定义。控件不在If条件内。我认为方法next()中存在一些问题。您能在问题中发布asp控件标记吗。。。还有你如何调用js函数..@A.V.非常感谢。你的第一个答案就解决了这个问题。使用optVal.nextSibling。塔克斯。
<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<script>
    Function JsChangeRBText(itemCheckBox, rbClientId)
    {
       var optVal = document.getElementById(rbClientId);
       if(itemCheckjBox.checked)
       {
            $("label[for='" + rbClientId + "']").text('abc');
        }       
       else
       {
            $("label[for='" + rbClientId + "']").text('xyz');
        }       
    }
</script>
function JsChangeRBText(itemCheckBox, rbClientId)
{
   var optVal = document.getElementById(rbClientId);
   var label =  optVal.nextSibling;
   if(itemCheckjBox.checked)
   {
     label.textContent = "adc"; 
   }       
   else
   {
     label.textContent = "ccc";
   }       
}