Javascript 选中复选框时,应清除只读文本框 价值1 价值2 价值1 价值2 价值1 价值2 价值1 价值2

Javascript 选中复选框时,应清除只读文本框 价值1 价值2 价值1 价值2 价值1 价值2 价值1 价值2,javascript,html,asp.net-mvc,Javascript,Html,Asp.net Mvc,我想在选中对应的checkboc时清除文本框。这是我的Java脚本 <table> <tr> <td>Value1</td> <td>Value2</td> <td> <input type="text" class="textbox" value="Not Required" readonly=readonly />

我想在选中对应的checkboc时清除文本框。这是我的Java脚本

<table>
    <tr>
        <td>Value1</td>
        <td>Value2</td>
        <td>
            <input type="text" class="textbox" value="Not Required" readonly=readonly />
        </td>
        <td>
            <input type="checkbox"  onclick="CheckCheckboxes1(this)"/>
        </td>
    </tr>
    <tr>
        <td>Value1</td>
        <td>Value2</td>
        <td>
            <input type="text" class="textbox" value="Not Required" readonly/>
        </td>
        <td>
            <input type="checkbox"  onclick="CheckCheckboxes1(this)" />
        </td>
    </tr>
    <tr>
        <td>Value1</td>
        <td>Value2</td>
        <td>
            <input type="text" class="textbox" value="Not Required" readonly/>
        </td>
        <td>
            <input type="checkbox"  onclick="CheckCheckboxes1(this)" />
        </td>
    </tr>
    <tr>
        <td>Value1</td>
        <td>Value2</td>
        <td>
            <input type="text" class="textbox" value="Not Required" readonly/>
        </td>
        <td>
            <input type="checkbox"  onclick="myFunction(this)" />
        </td>
    </tr>
</table>

功能检查框1(chk){
如果(chk.checked==true)
{
var txt=document.getElementById('TextBox1');
txt.value=“”;
txt.disabled=false;
}
其他的
{
var txt=document.getElementById('TextBox1');
txt.value=“输入用户名”;
txt.disabled=true;
}
}

有什么想法吗?

正如@Adil所说,如果使用jQuery,会更容易。您可以为文本框指定一个id,为复选框指定一个cutstom属性,例如:

<script type="text/javascript" language="javascript">

function CheckCheckboxes1(chk){

    if(chk.checked == true)
    {
        var txt = document.getElementById('TextBox1');
        txt.value = "";
        txt.disabled = false;
    }
    else
    {
        var txt = document.getElementById('TextBox1');
        txt.value = "Enter Username";
        txt.disabled = true;
    }
}
</script>

功能检查框1(chk){
var specId=$(chk).attr(“specId”);
var txt=$(“#txt”+specId);
如果(chk.checked==true)
{                
$(txt).val(“”);
$(txt).attr(“禁用”、“禁用”);
}
其他的
{               
$(txt).val(“输入用户名”);
$(txt).removeAttr(“禁用”);
}
}

希望有帮助

正如@Adil所说,使用jQuery更容易。您可以为文本框指定一个id,为复选框指定一个cutstom属性,例如:

<script type="text/javascript" language="javascript">

function CheckCheckboxes1(chk){

    if(chk.checked == true)
    {
        var txt = document.getElementById('TextBox1');
        txt.value = "";
        txt.disabled = false;
    }
    else
    {
        var txt = document.getElementById('TextBox1');
        txt.value = "Enter Username";
        txt.disabled = true;
    }
}
</script>

功能检查框1(chk){
var specId=$(chk).attr(“specId”);
var txt=$(“#txt”+specId);
如果(chk.checked==true)
{                
$(txt).val(“”);
$(txt).attr(“禁用”、“禁用”);
}
其他的
{               
$(txt).val(“输入用户名”);
$(txt).removeAttr(“禁用”);
}
}

希望有帮助

要获取相应的文本框,您不能通过ID获取它。相反,您应该获取输入父表行,然后从那里找到输入,以便它与复选框相对

<td>
 <input type="text" id="txt_1" class="textbox" value="Not Required" readonly=readonly />
</td>
        <td>
            <input type="checkbox" specId="1"  onclick="CheckCheckboxes1(this)"/>
        </td>

function CheckCheckboxes1(chk){
      var specId = $(chk).attr("specId");
      var txt = $("#txt_"+specId);

        if(chk.checked == true)
        {                
            $(txt).val("");
            $(txt).attr("disabled","disabled");
        }
        else
        {               
            $(txt).val("Enter Username");
            $(txt).removeAttr("disabled");
        }
    }
注:

  • 使用
    txt.readOnly
    而不是
    txt.disabled
    ,因为disabled是不一样的
  • 使用复选框
    onchange
    事件不
    onclick

要获取相应的文本框,您不能通过ID获取它。相反,您应该获取输入父表行,然后从那里找到输入,以便它与复选框相对

<td>
 <input type="text" id="txt_1" class="textbox" value="Not Required" readonly=readonly />
</td>
        <td>
            <input type="checkbox" specId="1"  onclick="CheckCheckboxes1(this)"/>
        </td>

function CheckCheckboxes1(chk){
      var specId = $(chk).attr("specId");
      var txt = $("#txt_"+specId);

        if(chk.checked == true)
        {                
            $(txt).val("");
            $(txt).attr("disabled","disabled");
        }
        else
        {               
            $(txt).val("Enter Username");
            $(txt).removeAttr("disabled");
        }
    }
注:

  • 使用
    txt.readOnly
    而不是
    txt.disabled
    ,因为disabled是不一样的
  • 使用复选框
    onchange
    事件不
    onclick

Hi要禁用和启用,您需要为复选框和文本框分配id。请看下面的代码

function CheckCheckboxes1(chk){
    var txt = chk.parentNode.parentNode.cells[2].getElementsByTagName('input')[0];

    if(chk.checked == true)
    {
        txt.value = "";
        txt.readOnly = false;
    }
    else
    {
        txt.value = "Enter Username";
        txt.readOnly = true;
    }
}

功能检查框1(chk){
如果(chk.checked==true)
{
var txt=document.getElementById('TextBox'+chk.id);
txt.value=“”;
txt.disabled=false;
}
其他的
{
var txt=document.getElementById('TextBox'+chk.id);
txt.value=“输入用户名”;
txt.disabled=true;
}
}
价值1
价值2
价值1
价值2
`在这里输入代码`
价值1
价值2
价值1
价值2

Hi要禁用和启用,您需要为复选框和文本框分配id。请看下面的代码

function CheckCheckboxes1(chk){
    var txt = chk.parentNode.parentNode.cells[2].getElementsByTagName('input')[0];

    if(chk.checked == true)
    {
        txt.value = "";
        txt.readOnly = false;
    }
    else
    {
        txt.value = "Enter Username";
        txt.readOnly = true;
    }
}

功能检查框1(chk){
如果(chk.checked==true)
{
var txt=document.getElementById('TextBox'+chk.id);
txt.value=“”;
txt.disabled=false;
}
其他的
{
var txt=document.getElementById('TextBox'+chk.id);
txt.value=“输入用户名”;
txt.disabled=true;
}
}
价值1
价值2
价值1
价值2
`在这里输入代码`
价值1
价值2
价值1
价值2

如果使用jQuerywhere是id为“TextBox1”的Textbox?如果使用jQuerywhere是id为“TextBox1”的Textbox,则会简单得多?