如何在Javascript中的onClick事件中重新加载select标记选项?

如何在Javascript中的onClick事件中重新加载select标记选项?,javascript,Javascript,我需要在onClick事件中重新加载下拉文本字段选项。这是我的 html “+” 无“+” js 函数createOpts(该函数){ 选项=“测试”; .find(“option”).remove().end().append(选项); } 为什么不重新加载选项 这里有很多错误 这需要是一个jQuery选择器(您也需要jQuery,假设您的页面中有jQuery,而只是把它忘在了jsfiddle中) 您正在尝试在HTML中连接字符串 选项未初始化或声明。当您尝试将某物连接为空(未定义)时,您

我需要在onClick事件中重新加载下拉文本字段选项。这是我的

html

“+”
无“+”
js

函数createOpts(该函数){
选项=“测试”;
.find(“option”).remove().end().append(选项);
}

为什么不重新加载选项

这里有很多错误

  • 这需要是一个jQuery选择器(您也需要jQuery,假设您的页面中有jQuery,而只是把它忘在了jsfiddle中)
  • 您正在尝试在HTML中连接字符串
  • 选项未初始化或声明。当您尝试将某物连接为空(未定义)时,您将得到一个
    ReferenceError
  • 试试这个:

    所有这些都会导致您的问题:

    • 您没有在菜单中选择jQuery
    • createOpts不是全局的,因为代码是在onLoad处理程序中运行的
    • that
      引用
      元素,您需要首先将其传递给jQuery,例如
      $(that).find('option')…

    因为您试图在普通javascript中使用jQuery。添加对jQuery的引用,然后使用
    $(that)。查找…
    顺便说一句,您也不应该以
    id='1'
    中的数字开头元素id,它在技术上是无效的,可能会导致某些代码不起作用。您的HTML中有两个
    “+”
    ,用于在javascript中连接字符串,在HTML中是不必要的
    <select id='1' onClick='createOpts(this)'>" + "
        <option>None</option>" + "</select>
    
    function createOpts(that) {
    theOptions = "<option>Test</option>";
    that.find("option").remove().end().append(theOptions); 
    }