我正在使用niceforms插件来设置我的选择框样式。我遇到的问题是我无法获得正确的javascript代码来激活值选项中的链接。
niceforms网站(http://www.emblematiq.com/lab/niceforms/help/)指示我使用以下代码:
el.lnk._onclick = el.onclick || function () {
if(this.ref.oldClassName == "NFOnChange") {
//insert your code here
}};
这是我尝试操作代码以允许在选择下拉列表中进行网址链接
el.lnk._onclick = el.onclick || function () {
if(this.ref.oldClassName == "NFOnChange") {
//code i added
window.location.href = $(this.ref).val();
}};
问题是链接没有按预期工作,它们没有链接到相应的值。
form class ="niceform"
select class ="NFOnchange"
option value = "http://link1.com" -> link1.com
option value = "http://link2.com" -> link2.com
option value = "http://link3.com" -> link3.com
请提供任何帮助,我们将不胜感激。我只需要插入正确的代码,使链接对应于它们的选项值。
答案 0 :(得分:0)
好的,几乎每个主要的JS库都会使用“$”,所以:
window.location.href = $(this.ref).val();
除非您告诉我们您正在使用哪个JS库,否则没有任何意义。
如果你正在使用jQuery,val()应该可以工作。我确认$ this.ref)实际上是你认为通过在该行之前添加这个权利:
console.log($(this.ref))
(以上假设你使用Firebug或Chrome开发者控制台......如果你没有使用这些工具之一,你应该; - ))
如果这表明你实际上是在选择一个SELECT元素,那么就会发生一些有趣的事情,但我怀疑它不是。
另外,作为旁注,我认为你可以这样做:
$(this)
如果你正在使用jQuery。
如果你没有使用jQuery ...告诉我们你在使用什么,我们可以从那里开始。
哦,如果你没有使用任何库,而$只是你自己的自定义函数,那么Felix指出JS没有内置的“value()”方法是正确的。你会发现最接近的是.selectedIndex,它是任何SELECT元素的属性,它告诉你所选选项的索引(在所有选项中)(然后通过查看可用选项列表,你可以告诉“ .value“适当的财产”。