【发布时间】:2011-04-05 06:18:40
【问题描述】:
我对 jQuery 感到困惑和缺乏经验。我正在尝试将厚框窗口中的值传递回父页面上的输入元素。为了确定正确的输入框,我尝试连接两个值,其中一个我成功地从厚框窗口中抓取,另一个值是一段文本,如下例所示。
grab_flavor = $('#flavor').val(); //contains 'apple'
alert(grab_flavor); // returns 'apple'
juice = "#" + grab_flavor + "juice";
alert(juice); // returns '#applejuice'
$(juice , top.document).val("favorited"); //doesn't seem to work...
flavor = "#apple";
juice = flavor + "juice";
$(juice , top.document).val("favorited"); // works
我似乎无法弄清楚为什么第一个串联不起作用,即使当我用警报显示它时它返回正确的值,但什么也没发生。
我尝试了多种不同的连接方式,但是当我尝试包含“grabflavor”时它们都失败了……非常感谢您的建议!
更新:正在制作一个更好的实时示例...
更新 2(最终版):想通了...毕竟语法是有效的,连接没有问题,我只是忽略了一个小细节,因为我正在处理看起来很长的选择器同样...下次我会休息更长的时间,这样我才能从新鲜的眼睛中受益。固执地执着于理解问题并不总是那么有效。感谢评论者发布和指出 jsfiddle 和 jsbin,这两个非常有用的发现!
【问题讨论】:
-
$(#flavor).val()是错字吗?应该是$('#flavor').val() -
alert(juice); // returns 'applejuice'也是如此。应该是alert(juice); // returns '#applejuice',不是吗? -
抱歉有错别字...已更正,谢谢!
-
@mrs Juice:为什么不使用复制粘贴的现代奇迹,而不是重新键入您要调试的代码?
-
给我们一些您的实际代码和html,您甚至可以尝试在jsfiddle.net 上重新创建错误并与我们分享。
标签: javascript jquery thickbox