ajax请求 input输入文字显示对应的值

本文介绍了一个看似简单但实则需要利用Ajax请求的编程问题:当用户在input1输入data数据中的key时,input2会实时显示对应的value。通过判断input1的值并发送Ajax请求,获取并显示匹配的data信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天打开电脑,朋友说帮忙解决个bug

实现input1框输入文字,input2显示input1的val();

心想呀这还不简单,不就是获取1的val()然后赋值给2不就ok了吗?有难度?瞬间怀疑他的水平是不是倒退了

然而

并没有那么简单

要达到的效果是:通过ajax数据请求,input1中输入data数据中的key值,input2显示对应的value值

data数据:

{
"shop1":"iphone7",
"shop2":"华为",
"shop3":"小米",
"shop4":"三星",
"shop5":"oppo"
}
结构:

<div class="box">
    <input type="text" class="input1" placeholder="编号">
    <input type="text" class="input2" placeholder="名称">
</div>


我最初的构想:

$(".input1").blur(function () {
                var input = $(".input1").val();
                $.ajax({
                    url:'data/tsconfig.json',
                    type:'get',
                    dataType:'json',
                    success:function(res){
                        console.log(res);
                        console.log("input="+input);
                        console.log(res.input);
                        console.log(res.shop1);
                        $(".input2").val(res.input);
                    },
                    error:function () {
                        console.log(error);
                    }
                });
            });
但是遇到了问题:

console.log(res.input);   显示为undefined 


瞬间就忧伤了呢


当然啦,肯定会有解决方案的


废话不多说,直接上代码:

success:function(res){
                        var input = $(".input1").val();
                        for(key in res){
                            if(input == key){
                                $(".input2").val(res[key]);
                            }
                        }
                    },


通过判断input1的val()是不是等于data数据中的key,然后赋值给input2的val();

最佳解决方案:

$(".input2").val(res[input]);

是不是豁然开朗了呢

最终效果图:




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值