何が引き起こされているのか - 猛攻撃タイプエラー:validoptions [i] .Tolowercaseは関数ではありませんか?
-
16-10-2019 - |
質問
Magentoにいくつかの追加のjQuery機能を追加しようとしていますが、スクリプトは実行できず、ブラウザコンソールではこのエラーに気付きました。
Uncaught TypeError: Object function each(iterator, context) {
var index = 0;
try {
this._each(function(value) {
iterator.call(context, value, index++);
});
} catch (e) {
if (e != $break) throw e;
}
return this;
} has no method 'toLowerCase'
これが私のスクリプトです
<script>
jQuery(function() {
jQuery('.temp-variable-price').on('input', function() {
if(jQuery('input[class=temp-variable-price]').val()=="free")
{
jQuery('.temp-variable-price').val('FREE');
}
});
var validOptions = [];
validOptions.push("FREE");
var x = 1;
while (x<1000) {
if (x<100) {
validOptions.push(""+x+"p");
} else {
var y = x.toString();
var z = y.split('');
validOptions.push(""+z[0]+"."+z[1]+""+z[2]+"");
}
x++;
}
previousValue = "";
jQuery('.temp-variable-price').autocomplete({
autoFocus: true,
source: validOptions
}).keyup(function() {
var isValid = false;
for (i in validOptions) {
if (validOptions[i].toLowerCase().match(this.value.toLowerCase())) {
isValid = true;
}
}
if (!isValid) {
this.value = previousValue
} else {
previousValue = this.value;
}
});
});
</script>
特定のフォームフィールドのその素晴らしいオートコンプリートと検証スクリプト、デモを見ることができます ここ
誰かがこのエラーを知っているなら、この問題をデバッグして修正する方法の説明に感謝しますか?
解決
その意味は validOptions[i]
文字列ではありません。使用する console.log(validOptions[i]);
それが何であるかを知るために。それは可能性があります undefined
.
オプションで、次のことを行うことができます。
validOptions[i].toString().toLowerCase()....
所属していません magento.stackexchange