Javascript document.getElementById始终在不应返回的位置返回空

Javascript document.getElementById始终在不应返回的位置返回空,javascript,Javascript,应用程序使用laravel 5.8, 我要做的是得到所选的值, 选择是使用select2生成的 提取所选值的正确方法是什么?因为我总是得到空的值 观点: <div class="form-group"> <label> Select Industry </label> <select name="industryid" id="industryid" class="findIndustry js-example-responsive" style

应用程序使用laravel 5.8, 我要做的是得到所选的值, 选择是使用select2生成的

提取所选值的正确方法是什么?因为我总是得到空的值

观点:

<div class="form-group">
 <label>
  Select Industry
 </label>
<select name="industryid" id="industryid" class="findIndustry js-example-responsive" style="width: 100%">
</select>
<script type="text/javascript">
$('.findIndustry').select2({
minimumResultsForSearch: 3,
ajax: {
 url: '/cases/find_industry',
dataType: 'json',
delay: 250,
headers : {'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')},
processResults: function(industry) {
return {
results: $.map(industry, function(industry) {
return {
text: industry.sra_industry+' - '+industry.sra_description,                                         id: industry.sra_industry                                           }                                       })
};
},
                                        });
</script>
</div>
我尝试获取所选值的位置:

var one = document.getElementById("industryid");

var two = document.getElementById("industryid").value;

// i trigger from some button
function reply_click()
{
console.log(one);
console.log(two);
}

console.log(one) is responding, but (two) always empty. 
result log below..

console.log(one) :

<select name="industryid" id="industryid" class="findIndustry js-example-responsive select2-hidden-accessible" style="width: 100%" data-select2-id="industryid" tabindex="-1" aria-hidden="true">`enter code here`
<option value="EFEK" data-select2-id="19">EFEK - Sector Company</option><
/select>

console.log(two) - empty :


///////////////////////
基于上面的示例,我想获取上面选择的值->option value=EFEK,并将其存储在var two中

谢谢执行脚本时,这两行代码立即运行:

var one = document.getElementById("industryid");

var two = document.getElementById("industryid").value;
这意味着,如果元素还不存在,那么其中一行将为null,第二行将失败。但是如果元素存在,例如,如果脚本在HTML中的select之后,您将在一个和两个中获得元素,因为select中没有选择任何内容

您希望稍后在处理单击时获取该值。由于getElementById非常非常快,因此也没有理由不这么做:

function reply_click()
{
    console.log(document.getElementById("industryid").value);
}

您需要执行var two=document.getElementByIdindustryid.value;在reply\u click函数中,您以前运行过该代码。select2已加载选项,因此当您读取.value时,它们还不存在。修复!谢谢大家的见解和解释。不知何故,我没有想到这一点,将需要了解更多。