Javascript 禁用numericTextBox单击单选按钮单击

Javascript 禁用numericTextBox单击单选按钮单击,javascript,html,Javascript,Html,我有单选按钮和数字文本框。我希望当单选按钮=“y”时,numericTextBox不会禁用。我目前正在努力,但效果不好。我在这里使用的是onClick=“委托()”。是不是我错过了什么 HTML: <div class="k-edit-label"> <label for="consignment">Consignment</label> </div><div>

我有单选按钮和数字文本框。我希望当单选按钮=“y”时,numericTextBox不会禁用。我目前正在努力,但效果不好。我在这里使用的是
onClick=“委托()”
。是不是我错过了什么

HTML:

<div class="k-edit-label">
                <label for="consignment">Consignment</label>
                </div><div>
                <input class="k-radio" id="yes3" name="consignment" type="radio" value="y" onClick="consign()" data-bind="checked:consignment">
                <label class="k-radio-label" for="yes3">Yes</label>
                <input class="k-radio" id="no3" name="consignment" type="radio" value="n" data-bind="checked:consignment">
                <label class="k-radio-label" for="no3" style="margin-left: 30px; margin-right:20px;">No</label>

                <label for="marginConsignment">Margin to supplier</label>
                <input style="margin-left: 5px;"  id="margin" data-role="numerictextbox" data-bind="value: marginConsignment">
            </div>
function consign() {
var radiobtn = document.getElementById("yes3").value;
if(radiobtn == "y"){
  $("#margin").prop("disabled", false); 
} else if (radiobtn == "n"){
    $("#margin").prop("disabled", true);
}  
}

试试这个逻辑,我在没有jquery的情况下就做到了:

功能委托(e){
var radiobtn=e.值;
如果(radiobtn==“y”){
document.getElementById(“margin”).removeAttribute(“禁用”);
}否则如果(radiobtn==“n”){
document.getElementById(“margin”).setAttribute(“disabled”,true);
}
}

批
对
不
对供应商的保证金
radiobtn始终具有相同的值:y,它从不在其他条件下使用

var radiobtn = document.getElementById("yes3").value;
尝试此操作,然后删除onClick=“委托() 从你的投入

$('input[name=consignment]').change(function(){
  if ($(this).val() === "y") {
    $("#margin").prop("disabled", false); 
  } else if ($(this).val() === "n") {
    $("#margin").prop("disabled", true);
  }
});

您可以尝试以下方法:

HTML

<div class="k-edit-label">
            <label for="consignment">Consignment</label>
            </div><div>
            <input class="k-radio" id="yes3" name="consignment" type="radio" onClick="consign()" data-bind="checked:consignment">
            <label class="k-radio-label" for="yes3">Yes</label>
            <input class="k-radio" id="no3" onClick="consign()" name="consignment" type="radio" data-bind="checked:consignment">
            <label class="k-radio-label" for="no3" style="margin-left: 30px; margin-right:20px;">No</label>

            <label for="marginConsignment">Margin to supplier</label>
            <input style="margin-left: 5px;"  id="margin" data-role="numerictextbox" data-bind="value: marginConsignment">
        </div>
    function consign() {
  document.getElementById("margin").disabled = document.getElementById("yes3").checked;
}