应用程序使用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”并将其存储在两个变量中。
谢谢
答案 0 :(得分:0)
执行脚本时,这两行立即运行:
var one = document.getElementById("industryid");
var two = document.getElementById("industryid").value;
这意味着(如果尚未存在)元素,您将获得null
的{{1}},第二行将失败。但是,如果元素存在(例如,如果one
在HTML中的script
之后),则会在select
和one
中获得{ 1}},因为在选择中什么都没有选择。
您希望在处理点击时获得值以后。而且由于""
确实非常快,因此也没有理由不这样做:
two