Javascript 选择不工作-单击时不显示选项
我使用MaterializeCSS创建了一个select标记。动态创建此选择标记的选项。从firebase检索数据,然后创建选项。 但当我单击“选择”标记时,不会显示选项。但当我去检查时,它会显示那些选项在选择标签中。 如何解决这个问题 这就是HTML部分Javascript 选择不工作-单击时不显示选项,javascript,jquery,html,firebase,google-cloud-firestore,Javascript,Jquery,Html,Firebase,Google Cloud Firestore,我使用MaterializeCSS创建了一个select标记。动态创建此选择标记的选项。从firebase检索数据,然后创建选项。 但当我单击“选择”标记时,不会显示选项。但当我去检查时,它会显示那些选项在选择标签中。 如何解决这个问题 这就是HTML部分 <!DOCTYPE html> <html> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/mate
<!DOCTYPE html>
<html>
<link
rel="stylesheet"
href="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/css/materialize.min.css"
/>
<link
href="https://fonts.googleapis.com/icon?family=Material+Icons"
rel="stylesheet"
/>
<!-- Compiled and minified JavaScript -->
<!-- <link
rel="stylesheet"
href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css"
/> -->
<head>
<title></title>
</head>
<body>
<div class="container">
<h2>Create schedule</h2>
<div class="input-field col s12">
<select id="doctors" onchange="myFunction()">
<option value="0" disabled selected>Choose your option</option>
</select>
<label>Materialize Select</label>
</div>
</div>
<!-- Insert these scripts at the bottom of the HTML, but before you use any Firebase services -->
<!-- Firebase App (the core Firebase SDK) is always required and must be listed first -->
<script src="https://www.gstatic.com/firebasejs/7.12.0/firebase-app.js"></script>
<!-- If you enabled Analytics in your project, add the Firebase SDK for Analytics -->
<script src="https://www.gstatic.com/firebasejs/7.12.0/firebase-analytics.js"></script>
<!-- Add Firebase products that you want to use -->
<script src="https://www.gstatic.com/firebasejs/7.12.0/firebase-auth.js"></script>
<script src="https://www.gstatic.com/firebasejs/7.12.0/firebase-firestore.js"></script>
<script src="config.js"></script>
<!-- <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script> -->
<script
src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.min.js"
integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo="
crossorigin="anonymous"
></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/js/materialize.min.js"></script>
<script>
$(document).ready(function() {
$('select').formSelect();
});
</script>
<script src="doctor_scheduler_JS.js"></script> //external js file
</body>
</html>
创建时间表
选择你的选择
物化选择
$(文档).ready(函数(){
$('select').formSelect();
});
//外部js文件
外部js文件(doctor_scheduler_js.js)
const auth=firebase.auth();
const db=firebase.firestore();
var doctorsnames=[];
var doctorsuids=[];
const dropdown=document.getElementById(“医生”);
const option1=document.createElement(“选项”);
db.收集(“医生”)
.get()
.then(函数(querySnapshot){
querySnapshot.forEach(函数(doc){
//对于查询文档快照,doc.data()从来都不是未定义的
console.log(doc.id,=>,doc.data());
//var js=JSON.stringify(doc.data());
//document.getElementById(“container25”).innerHTML=js;
doctorsnames.push(doc.data().Name.fullname);
doctorsuids.push(doc.id);
});
SetDropDown();
})
.catch(函数(错误){
log(“获取文档时出错:”,错误);
});
函数SetDropDown(){
var循环=0;
doctorsnames.forEach(k=>{
//feildcotorsnames+=k+“
”;
var option1=document.createElement(“选项”);
option1.value=doctorsuids[loop];
option1.innerHTML=k;
下拉列表。追加子项(选项1);
loop++;
});
document.getElementById(“container25”).innerHTML=doctorsuids;
}
var show=[“印度”、“巴基斯坦”、“美国”、“英国”];
风险价值=[“3”、“4”、“5”、“6”];
var j=0;
show.forEach(i=>{
const option1=document.createElement(“选项”);
选项1.value=值[j];
option1.innerHTML=i;
下拉列表。追加子项(选项1);
j++;
});
问题在于代码的这一部分
$.ajax({
url:'upload.php',//指向服务器端php脚本
数据:表格数据,
键入:“post”,
成功:功能(数据){
console.log(data);//显示来自PHP脚本的响应(如果有)
}
});
将这些参数添加到ajax调用中
$.ajax({
url: 'upload.php', // point to server-side PHP script
data: form_data,
enctype: 'multipart/form-data',
type: 'post',
processData: false,
contentType: false,
success: function(data){
console.log(data); // display response from the PHP script, if any
}
});
请参阅这里的Jquery文档
processData
默认情况下,数据作为对象传递到数据选项
(从技术上讲,字符串以外的任何内容)将被处理并
转换为查询字符串,符合默认内容类型
“application/x-www-form-urlencoded”。如果你想发一封信
DOMDocument或其他未处理的数据
只需添加一个包含enctype=“multipart/form data”的表单,然后在表单数据中使用该表单您的
数据
字段中似乎存在类型不匹配。尝试发送一个简单的字符串(它可能是一个字符串化的JSON对象)。另外,看看这个:。无论如何,你应该在提出你的问题上投入更多的精力。
$.ajax({
url: 'upload.php', // point to server-side PHP script
data: form_data,
enctype: 'multipart/form-data',
type: 'post',
processData: false,
contentType: false,
success: function(data){
console.log(data); // display response from the PHP script, if any
}
});