真的是Javascript的怪癖,超越了我的脑袋
我读到了这个,它似乎与Javascript中的案例有关。 \
无论哪种方式,我都有多个类div框和数据填充每个框。下面的代码输出用户选择进入控制台的内容。
一切都很好,但是我试图提取用户选择并将其放入变量中,以便用户从下拉列表中选择的内容可用于通知我的代码的其他部分。我不知道如何提取这些信息?
//Global variables
classText = document.getElementsByClassName("searchText");
classBox = document.getElementsByClassName("searchBoxModule");
//HTML
<div id="searchBox">
<div class="searchBoxModule" onclick="firstBox()">
<a class='searchText'></a>
</div>
<div class="searchBoxModule">
<a class='searchText'></a>
</div>
<div class="searchBoxModule">
<a class='searchText'></a>
</div>
<div class="searchBoxModule">
<a class='searchText'></a>
</div>
<div class="searchBoxModule">
<a class='searchText'></a>
</div>
</div>
//Javascript
for(var i = 0; i < classText.length; i++) {
classText[i].innerHTML = arrFiltered[i] || "";
console.log(i + arrFiltered[i]);
classBox[i].onclick = function (value) {
//if a search box is click do:
return function(){
console.log(value);
};
//The below outputs the choice of the user... but how do i put this into a variable?
}(i + 1 + " " + arrFiltered[i]);
}
谢谢, 伊万
答案 0 :(得分:1)
我认为你的问题在于
(classText[i].innerHTML = arrFiltered[i] || "";)
无法获得innerHTML 所以在HTML中做这样的事情。
<div id="searchBox">
<div class="searchBoxModule" onclick="firstBox()">
<a class='searchText' id="searchText1"></a>
</div>
然后你可以很容易地做到:
foo = document.getElementById('searchText1');