所以......我很难弄清楚如何解决这个javascript问题。
所以,我一直在研究注册表,用户输入他们的学生 ID,ajax 会自动响应选择他们的学位(让我们这么说)。
有 4 度,有 3 位主码,如下面由变量 si、ti、dsi 和 dti 给出。
var si = ['510'] // Selain 510
var ti = ['520'] // Selain 520
var dsi = ['310'] // Selain 310
var dti = ['320'] // Selain 320
if(si.indexOf($(this).val().substr(0,3)) < 0){
$('#dftrprodi option[value="S1 - Teknik Informatika"]').attr("selected", "selected");
}
else if (ti.indexOf($(this).val().substr(0,3)) < 0){
$('#dftrprodi option[value="S1 - Sistem Informasi"]').attr("selected", "selected");
}
else if (dti.indexOf($(this).val().substr(0,3)) < 0){
$('#dftrprodi option[value="D3 - Teknik Informatika"]').attr("selected", "selected");
}
510 和 520 的 3 位代码运行良好,选择正确的等级。但是在第三个“else if”中,它选择程度“S1 - Teknik Informatika”而不是“D3 - Teknik Informatika”
怎么解决呢?好吧,我认为“310”将与“510”相同,并且会选择 D3 而不是 S1,但事实并非如此。
如果需要,这是我的观点
<select id="dftrprodi" name="studi">
<option value="S1 - Sistem Informasi">S1 - Sistem Informasi</option>
<option value="S1 - Teknik Informatika">S1 - Teknik Informatika</option>
<option value="D3 - Sistem Informasi">D3 - Sistem Informasi</option>
<option value="D3 - Teknik Informatika">D3 - Teknik Informatika</option>
</select>
示例(简单来说):
If
user/student type "510-xxxxx" it select 'S1 - Sistem Informasi'
else if
user/student type "520-xxxxx" it select 'S1 - Teknik'
else if
user/student type "310-xxxxx" it select 'D3 - SI (for short)'
else if
user/student type "320-xxxxx" it select 'D3 - TI'
编辑:我删除了禁用的输入,因为禁用时,该值不会发送到数据库
逻辑坏了
考虑是否$(this).val().substr(0,3)
是 310
这使得第一个“如果”为真 - else if
s 永远不会运行
这是我认为可能有效的方法
var courses = {
'510': 'S1 - Sistem Informasi',
'520': 'S1 - Teknik Informatika',
'310': 'D3 - Sistem Informasi',
'320': 'D3 - Teknik Informatika'
};
$('#dftrprodi option[value="' + courses[$(this).val().substr(0,3)] + '"]').attr("selected", "selected");
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句