Javascript val()用于选择框未正确链接

时间:2011-05-12 22:58:11

标签: javascript drop-down-menu

我正在使用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 

请提供任何帮助,我们将不胜感激。我只需要插入正确的代码,使链接对应于它们的选项值。

1 个答案:

答案 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“适当的财产”。