javascript - 如何使用 jQuery 获取 html select 元素的特定值

标签 javascript jquery split html-select

所以...我很难弄清楚如何解决这个 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

这使得第一个“if”为真 - else if 永远不会运行

这是我认为可能有效的方法

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");

关于javascript - 如何使用 jQuery 获取 html select 元素的特定值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42466036/

相关文章:

javascript - Node JS 判断字符串中的某个单词是否在数组中

javascript - JS 不会加载到 html 中

javascript - 在放置事件中将图像显示为无

jquery - 图例和 google vis 之间的边距。图表

javascript - 在 div 中垂直居中段落

java - numeric TextField 上的 setText 强制应用程序关闭

javascript - 根据 routeProvider 更改值

javascript - 使用 next() 填写时显示下一个输入字段

java - 用于将德国地址拆分为多个部分的正则表达式

sql - 将列字符拆分为行 Oracle