Javascript 如果输入有值,则应选中特定单选按钮
我想检查输入(Javascript 如果输入有值,则应选中特定单选按钮,javascript,jquery,Javascript,Jquery,我想检查输入(name=“companyname”)是否有值,如果有,它应该检查单选按钮(id=“Zakelijk”)。如果没有任何值,则应选中其他单选按钮(id=“Particulier”) 请参阅我的当前代码: <script type="text/javascript"> function ShowHideDiv() { var chkYes = document.getElementById("Zakelijk");
name=“companyname”
)是否有值,如果有,它应该检查单选按钮(id=“Zakelijk”
)。如果没有任何值,则应选中其他单选按钮(id=“Particulier”
)
请参阅我的当前代码:
<script type="text/javascript">
function ShowHideDiv() {
var chkYes = document.getElementById("Zakelijk");
var dvPassport1 = document.getElementById("checkzakelijk");
var dvPassport2 = document.getElementById("checkzakelijk1");
var dvPassport3 = document.getElementById("checkzakelijk2");
var display = chkYes.checked ? "block" : "none";
dvPassport1.style.display = display;
dvPassport2.style.display = display;
dvPassport3.style.display = display;
}
</script>
<div class="col-md-12 check-business">
<div class="form-group form-group-xl">
<label for="Particulier"><input type="radio" id="Particulier"checked="checked" name="checkzakelijk" onclick="ShowHideDiv()" />Particulier</label>
<label for="Zakelijk"><input type="radio" id="Zakelijk" name="checkzakelijk" onclick="ShowHideDiv()" />Bedrijf</label>
</div>
</div>
<div class="col-md-12" id="checkzakelijk" style="display:none;">
<div class="form-group">
<label for="inputCompanyName" class="control-label">{$LANG.clientareacompanyname}</label>
<input type="text" name="companyname" id="inputCompanyName" value="{$clientcompanyname}"{if in_array('companyname', $uneditablefields)} disabled="disabled"{/if} class="form-control" />
</div>
</div>
函数ShowHideDiv(){
var chkYes=document.getElementById(“Zakelijk”);
var dvPassport1=document.getElementById(“checkzakelijk”);
var dvPassport2=document.getElementById(“checkzakelijk1”);
var dvPassport3=document.getElementById(“checkzakelijk2”);
var display=chkYes.checked?“块”:“无”;
dvPassport1.style.display=显示;
dvPassport2.style.display=显示;
dvPassport3.style.display=显示;
}
微粒子
贝德里杰夫
{$LANG.clientareacompanyname}
还有其他方法,但这应该可以让您继续:
$(function() {
if (($("#inputCompanyName").val() || "") != "")
{
$("#Zakelijk").prop("checked", true)
} else {
$("#Particulier").prop("checked", true)
}
});
这是基于您的html,其中输入名称='companyname'也具有id'inputCompanyName',并且将清除另一个收音机,因为它们具有相同的name=
编辑工作界面: 在“代码”框(左上角)中更改输入值,然后单击“运行”
更新:将fiddle更新到指定的jquery版本3.1.0,并发现jquery的更新版本需要id=to match#,而在名称上匹配之前=如果要在更改输入时检查它,可以执行以下操作
$("input[name='companyname']").change(function(){
var hasValue = $(this).val() === "";
$("#Zakelijk").prop("checked", hasValue);
$("#Particulier").prop("checked", !hasValue);
})
您可以优化代码,但这更具可读性。以下是您所追求的工作示例(尽管没有考虑HTML ID/布局,但您只需在其中更改ID即可) 它钩住已更改的事件,因此每次更改文本框值时都会发生 思考之后: 改变
$("#text-box").on('change', function(){
到
使它在响应方面有点“更好”
这是一个有你的ID名的版本
以防您需要Javascript解决方案
if(document.getElementById("inputCompanyName").value !== ""){
document.getElementById("Zakelijk").checked = true;
document.getElementById("Particulier").checked = false;
}
else{
document.getElementById("Particulier").checked = true;
document.getElementById("Zakelijk").checked = false;
}
谢谢我试过你的代码,但似乎不起作用。单选按钮未选中。@HenkZ您需要jQuery。我知道,我在
之前已经加载了它,但这似乎不起作用。谢谢!我试过你的代码,但似乎不起作用。单选按钮未选中。是否已加载jquery?您已将问题标记为jquery。我知道,我已经在
之前加载了它,但这似乎不起作用。您是否将此代码放在html之前?尝试添加成功的$(function()
(我将编辑答案)!非常感谢。当“#Zakelijk”是否选中?由于收音机的工作方式,当您将其设置为true时,您不需要将其设置为false。谢谢!我尝试了您的代码,但似乎不起作用。单选按钮未选中。您好-您已经收到了许多解决方案,这些解决方案应该可以正常工作,包括多个JSFIDLE,显示它们可以工作。如果按照您的评论,这些如果仍然不适合您,请以您的代码为起点创建一个JSFIDLE,因为可能还有其他东西影响您的功能,这将有助于排除它。另请参阅,重点介绍可验证性。
$("#text-box").on('input', function(){
if(document.getElementById("inputCompanyName").value !== ""){
document.getElementById("Zakelijk").checked = true;
document.getElementById("Particulier").checked = false;
}
else{
document.getElementById("Particulier").checked = true;
document.getElementById("Zakelijk").checked = false;
}