簡體   English   中英

無法將字符串變量傳遞給函數

[英]Can't pass string variable to function

我有一個下拉菜單,當單擊其中一項時,我調用此函數:

  onClick(type) {
    type.preventDefault();
    let query = type.target.text;
    PokeApi.pokemonType(query).then(function(data) {
      console.log(data);
    }.bind(this));
  }

console.log返回未定義。

當我這樣做時:

  onClick(type) {
    type.preventDefault();
    let query = type.target.text;
    console.log(query);
    console.log(typeof query);
    PokeApi.pokemonType(query).then(function(data) {
      console.log(data);
    }.bind(this));
  }

第一個console.log將返回下拉菜單項的文本。 第二個console.log將返回字符串。 現在,當我將查詢傳遞給PokeApi.pokemonType時,我可以從api中獲取404錯誤,並且第三個console.log返回未定義。

但是如果我像這樣直接輸入下拉菜單的文本:

  onClick(type) {
    type.preventDefault();
    PokeApi.pokemonType("ice").then(function(data) {
      console.log(data);
    }.bind(this));
  }

一切正常,我從api返回了正確的對象。

知道為什么會這樣嗎? 我究竟做錯了什么?

您必須獲取下拉菜單中所選元素的值

var sel = document.getElementById('myDropdown'),
var selectedText = sel.options[sel.selectedIndex].value;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM