【问题标题】:onChange not working at selectedIndexonChange 在 selectedIndex 不起作用
【发布时间】:2013-01-27 18:34:31
【问题描述】:

我有一个 CMS,我尝试使用 jQuery 和 CSS3 对其进行自定义,但我遇到了语言选择问题(下拉列表)。
我按照本教程http://tutorialzine.com/2011/02/converting-jquery-code-plugin/定制了<select>

一切正常,但选择的 onChange 不起作用。因此,当我尝试从下拉列表(选择)中更改语言时,只会更改选择中的名称,但不会更改网站的语言。

这是我的选择:

<select name="lang" class="language" onChange="location.href=\''.$filename.'?lang=\' + this.options[this.options.selectedIndex].value +  \''.$trackpage.'\'">

我认为问题是由 jquery.tzSelect.js 引起的(请参阅教程),因为在这个插件中有一个 selectedIndex(这与 select 的 selectedIndex 冲突):

if(i==select.attr('selectedIndex')){
                    selectBox.html(option.text());
                }

我试图从插件中删除此行代码,但不起作用。
请帮忙!
谢谢!

【问题讨论】:

  • if (i==select[0].options.selectedIndex) {...}
  • 谢谢@salexch,但不起作用! :)

标签: javascript jquery select onchange


【解决方案1】:

你可以使用

this.value

而不是

this.options[this.options.selectedIndex].value

【讨论】:

  • 谢谢你!我尝试使用 this.valuethis.value[this.options.selectedIndex].value 但不起作用
  • 我刚刚检查了你上面的代码。我认为你有错误的字符串连接。请检查\'
  • 没有字符串连接错误!我在 phpcodechecker.com 上检查了代码,但没有收到任何错误。我尝试删除 \' 但不起作用。这是输出 (html): onchange="location.href=index.php?lang= + this.value + " 并且没有删除 \': onchange="location.href='index.php?lang=' + this.options[this.options.selectedIndex].value + ''" 非常感谢!
  • 请试试这个代码:
  • 非常感谢您的帮助!
猜你喜欢
  • 2011-03-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-02-21
  • 2017-04-15
  • 2011-02-02
相关资源
最近更新 更多