0

我正在尝试在我正在处理的表单上设置一些 Javascript 表单验证。我已经完成了所有的验证工作,但是我的任务是做一件事,我似乎无法弄清楚,也无法在网上找到很多关于它的文章。

我面临的挑战是,如果用户想在文本框中输入“其他”字段,我希望自动选中“其他”单选按钮。这是我在那里的代码,显然对我不起作用。

if (f.OtherTextValue.value !== '')
{
    document.getElementById("OtherTextRadio").checked = true;
    return false;
}

所以我想我想做的是:如果 OtherTextValue (我的文本框)不是空白的,那么去获取我的单选按钮的 ID 并使其选中/选中。

我在 Javascript 的世界里还是个新手,但我正在努力学习。

谢谢您的帮助。

4

6 回答 6

1

给元素绑定一个事件处理函数text,然后checkbox根据是否有值来设置它的状态:

$('#OtherTextValue').on('keyup', function() {
  $('#OtherTextRadio').prop('checked', !!this.value.length);
});

您可能需要使用其他事件,因为这仅在释放键时触发。检查文档

这是一个简单的例子

于 2013-07-01T12:52:09.913 回答
0
$(document).ready(function(){
 if ($('#OtherTextValue').val('Other'))) {
    $('#OtherTextRadio').prop('checked', true);   
  }
});

通常在单击“其他”单选按钮时,启用文本框。但您的想法似乎有所不同。请做更多的研究。

于 2013-07-01T12:47:24.590 回答
0

使用 onchange 事件

<asp:radiobutton ID="OtherTextRadio" runat="server"></asp:radiobutton>
<asp:TextBox ID="TextBox1" runat="server" onchange="checkRadio();" ></asp:TextBox>

脚本如下

   function checkRadio() {

       if (document.getElementById("TextBox1").value != "") {
           document.getElementById("OtherTextRadio").checked = true;
       }
       else document.getElementById("OtherTextRadio").checked = false;
   }
于 2013-07-01T13:12:37.210 回答
0

检查使用prop

$('#OtherTextRadio').prop('checked', true);

我没有看到你的代码,所以最终可能看起来像这样:

if($('#OtherTextValue').val() == "Other") {
    $('#OtherTextRadio').prop('checked', true);
}
于 2013-07-01T12:42:31.637 回答
0

如果您想在没有 JQuery 的情况下执行此操作,正如您在问题中的代码所暗示的那样,我在 JSFiddle 中模拟了一些可能有帮助的东西:http: //jsfiddle.net/xAcbm/

这里的关键是将您的支票链接到一个事件,在这个例子中,我添加了一个简单的按钮:

<input type="radio" id="chlVal" name="selVal" value="Val 1"/>Value 1<br/>
<input type="radio" id="chkOther" name="selVal" value="Other"/>Other<br/>
<input type="text" id="txtOther">
<button id="btn" onclick="Javascript: checkOther()">Check Form</button>

Javascript是:

function checkOther()
{
    if (document.getElementById('txtOther').value!='')
    {
        alert('Value in the box');
        document.getElementById('chkOther').checked=1;
    }
}

希望有帮助

于 2013-07-01T13:03:45.707 回答
-1
$(document).ready(function(){
    $('#sourcetext').on('click', function() {
        $('#sourcecheck').prop('checked', true);
    });
});
于 2014-06-24T19:02:54.037 回答