我很困惑&非常缺乏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这两个非常有用的发现!
答案 0 :(得分:0)
除非它是转录过程中的另一个错字,否则问题出现在:
juice = "#" + grabflavor + "juice";
你错过了grab_flavor
中的下划线。纠正它,并且它有效(live copy)。