Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/386.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在ajax回调上选择无线电输入_Javascript_Jquery_Html_Ajax - Fatal编程技术网

Javascript 如何在ajax回调上选择无线电输入

Javascript 如何在ajax回调上选择无线电输入,javascript,jquery,html,ajax,Javascript,Jquery,Html,Ajax,我要做一张自动填写的表格。其中,地址、电话、传真和部门等表单选项在通过下拉自动建议列表选择用户名后自动选择 整个过程已经完成。但只有一件事——单选按钮。我不知道如何从ajax返回的值中选择它。这是我的密码 HTML 例如,如果ajax返回data.dep=1,那么应该选择dep1 $("#inst_name input[value="+data.dep+"]").prop("checked", true); 编辑以添加说明: 无线电输入都共享相同的名称,但它们是不同的html元素,因此需要选择

我要做一张自动填写的表格。其中,地址、电话、传真和部门等表单选项在通过下拉自动建议列表选择用户名后自动选择

整个过程已经完成。但只有一件事——单选按钮。我不知道如何从ajax返回的值中选择它。这是我的密码

HTML

例如,如果ajax返回data.dep=1,那么应该选择dep1

$("#inst_name input[value="+data.dep+"]").prop("checked", true);
编辑以添加说明:

无线电输入都共享相同的名称,但它们是不同的html元素,因此需要选择值与接收到的值匹配的输入并进行检查

要选择值为您要查找的单选按钮,请使用以下代码: $inst_名称输入[value=+data.dep+]

然后您只需使用以下代码进行检查: .正确,正确

通过在成功回调中调用val,您只需为元素赋值

您可能希望在回调中操作元素的checked属性

$('#inst_addr, #inst_tel, #hidden_dep').prop("checked",true);

您可以简单地遍历它们,然后检查与该值匹配的一个

 $("[name=dep]").each(function(i,v){
     var dep2 = $(this).val();
     if(data.dep == dep2) $(this).prop("checked",true);
 });
通过选择第n个收音机

<!DOCTYPE html>
<html>
    <head>
        <title></title>
        <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
    </head>
    <body>
        <div id="inst_name">
            <input type="radio" name="dep" value="1" /><label>Dep 1</label>
            <input type="radio" name="dep" value="2" /><label>Dep 2</label>
            <input type="radio" name="dep" value="3" /><label>Dep 3</label>
        </div>
        <script>
        var n = 0;
        $($('#inst_name input:radio')[n]).prop('checked', true);
        </script>
    </body>
</html>

所有单选按钮的ID都是dep1,这是打字错误还是故意的?但无论如何,您可能需要类似$radio[value=+data.dep+].propchecked的东西,true;^HTML元素不能共享相同的ID。@MightyLampshade,Stering。对不起,我打错了,请再次检查。一行代码不是答案。为什么这个答案有效?如果OP知道,这个问题就不存在了。@SterlingArcher希望这样更好:P@RubenSerrate,我喜欢你的方法。但它仍然不起作用。谢谢。@RubenSerrate,我将您的代码从输入[value=+data.dep+]修改为输入[name=dep]。它可以工作,但值不正确。它选择值='3',而不是ajax返回的'1'。所有这些HTML都是多余的。更不用说n总是0,所以这不是第n个选择器。当然它是零。用适当的数据替代它有那么困难吗?是的,事实上。这将需要一个循环来增加n,这反过来需要检查以确保节点列表不会引发异常。如果需要迭代解决方案,使用$。每个都是一个更好的主意。由value=x返回的未定义和由索引返回的未定义之间有什么区别吗?
 $("[name=dep]").each(function(i,v){
     var dep2 = $(this).val();
     if(data.dep == dep2) $(this).prop("checked",true);
 });
<!DOCTYPE html>
<html>
    <head>
        <title></title>
        <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
    </head>
    <body>
        <div id="inst_name">
            <input type="radio" name="dep" value="1" /><label>Dep 1</label>
            <input type="radio" name="dep" value="2" /><label>Dep 2</label>
            <input type="radio" name="dep" value="3" /><label>Dep 3</label>
        </div>
        <script>
        var n = 0;
        $($('#inst_name input:radio')[n]).prop('checked', true);
        </script>
    </body>
</html>