Jquery如何获得第一个内容不为空的输入框?

小伙真帅 2012-11-21 01:40:58
一个页面有很多个输入框。要用Ajax来填充数据。

<div id="Area1">
<input type="text" name="a" value="">
<input type="text" name="a" value="">
<input type="text" name="a" value="">
<input type="text" name="a" value="">
</div>


<div id="Area2">
<input type="text" name="a" value="">
<input type="text" name="a" value="">
<input type="text" name="a" value="">
<input type="text" name="a" value="">
</div>


HTML部分结构如上。分多个大区域,ID为 Area + ID号

Ajax会返回一个Json格式的数据。返回以后我要遍历数据,根据每条数据的ID号,把内容填充到相应区域中不为空的那个输入框中去。

JS代码如下



for (var oIdx in json) {
var o = json[oIdx];

if (o.location != "none") {
$("#tag_" + o.ChannelID + "_" + o.location + "_" + o.sort).val(o.tags);
$("#tag_" + o.ChannelID + "_" + o.location + "_" + o.sort).attr("tagID", o.tagID);
} else {
//如果没找到。可能是第一次加载。则进行默认数据加载。

$("#BoxChannel_" + o.ChannelID + " input[value='']").get(0).value = o.tags

}
}



为什么这样永远只能取到第一个输入框
...全文
341 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhouhai3032 2012-11-22
  • 打赏
  • 举报
回复
也许每次都是指定else语句块的内容呢。。。。这种问题用firebug单步调试就一定能解决啦。楼主加油
ILOVE_ASPNET 2012-11-22
  • 打赏
  • 举报
回复
你alert()一个 #tag_" + o.ChannelID + "_" + o.location + "_" + o.sort 这个拼出来的ID是不是你想要的,也就是说是不是不重复的
小伙真帅 2012-11-21
  • 打赏
  • 举报
回复
获取的数据没问题。o是变化的。问题是取第一个不为空的输入框,永远都是取到的那一个。
eric_lu780 2012-11-21
  • 打赏
  • 举报
回复
$.getJSON(url, { 'id': zuid }, function (data) { $.each(data, function (i, item) { if (i == "context") { document.getElementById("configsms").value = item; } if (i == "id") { document.getElementById("configsmsid").value = item; } }); });
风一样的大叔 2012-11-21
  • 打赏
  • 举报
回复
楼主调试下 for (var oIdx in json) { var o = json[oIdx]; 看看o变化了没?

87,904

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧