javascript - 实现选择集动态选项问题

标签 javascript html materialize

我有两个依赖的下拉菜单(Materialize select)国家和州。在选择国家/地区时,我使用 javascript 获得受尊重的州,并且我正在向州选择添加选项,但它在州下拉列表中显示为空...但是当我发出警报,值正确。谁能帮我解决这个问题?

编辑: 删除显示后使用检查:无选择我得到如下所示..实际的 html 选择下拉列表已正确填充,但具体化选择未显示或填充为什么? See image here
HTML 代码:

 <select name="country" id="country" onchange="setStates();" style="width:100px; font-weight:bold;" >
     <option value="">Select</option>
      /* Country  options here */
    </select>
 <select name="state" id="state" style="width:100px; font-weight:bold;" >
    </select>

Javascript代码:

function setStates() {

  cntrySel = document.getElementById('country');
  stateList = states[cntrySel.value];

  changeSelect('state', stateList, stateList);
}

function changeSelect(fieldID, newOptions, newValues) {
  selectField = document.getElementById(fieldID);
  selectField.options.length = 0;

  for (i=0; i<newOptions.length; i++) {
    selectField.options[selectField.length] = new Option(newOptions[i], newValues[i]);
  }

}

最佳答案

您必须重新初始化具体化选择,尝试以下操作:

function setStates() {

  cntrySel = document.getElementById('country');
  stateList = states[cntrySel.value];

  changeSelect('state', stateList, stateList);
}

function changeSelect(fieldID, newOptions, newValues) {
  selectField = document.getElementById(fieldID);
  selectField.options.length = 0;

  for (i=0; i<newOptions.length; i++) {
    selectField.options[selectField.length] = new Option(newOptions[i], newValues[i]);
  }
  // Materialize old version
  $('#'+fieldID).material_select();
  // Materialize new version
  $('#'+fieldID).select();

}

关于javascript - 实现选择集动态选项问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39788054/

相关文章:

javascript - 为什么这个对象字面量没有呈现给 JSDoc?

html - 对齐和设计动态用户生成的内容布局

php - 物化 CSS : Dropdown don't display properly inside collection

html - 有没有办法使用 Materialise CSS 将卡片放在容器中居中?

javascript - 在 MaterializeCss Toast 中添加 Material 图标?

javascript - "Shaking Effect"仅持续一个周期

javascript - 为什么jQuery或诸如getElementById之类的DOM方法找不到元素?

javascript - 字典:JavaScript 中的映射与对象

css - 字母间距似乎使 div 移动

php - 检查php中两个文本框的值是否相同