1

我必须处理一些在addOptionselectOptions处引发错误的旧 Javascript 代码

错误:对象没有方法selectOptions

有人可以解释一下为什么它不起作用吗?我正在使用 jQuery 1.3

$("some_id").addOption(nodeId, nodeName); // add to list
$("some_id").selectOptions(/^~~/i, true); // clear selection

我通过这个解决了 addOption 行

$("some_id")[0].options.add( new Option(nodeName,nodeId));

但我仍然遇到 selectOptions错误。

UPDATE 刚刚发现该应用程序也在使用Dojo。这可能是问题吗?这些方法是 Dojo 特定的吗?

谢谢!

4

3 回答 3

2

使用Jquery Append添加这样的选项

$("yourid/class here").append($("<option></option>").attr("value", youroption-value).text(youroption-text));
于 2013-10-14T10:41:51.053 回答
1

终于发现它有什么问题了。这些方法来自 TexoTela 的一个jquery 插件为什么有人会只为选择框这样做?打败我

谢谢大家的回复。他们确实教会了我一些东西。

于 2013-10-14T11:58:17.187 回答
1

试试这个,你可以编写自己的方法:

$.fn.addOption = function(optText, optValue){
    var option = new Option(optText, optValue);
    return this.append(option);
};

$.fn.selectOption = function(toSelect){
 var $option = this.find("option[value='"+toSelect+"']");    
    if($option.length > 0){  
        //if option with the value passed on found then select it      
        $option.prop("selected","selected");
    }else{
        alert("option not found");
    }
};

var $select = $("#selectOption");
$select.addOption("Dummy1",2);
$select.addOption("Dummy2",3);

$select.selectOption(231);

在这里工作小提琴:http: //jsfiddle.net/maverickosama92/rGzPS/1/

于 2013-10-14T10:59:51.017 回答