Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/428.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在html中选择(多个)的指定索引处插入选项?_Javascript_Jquery_Html - Fatal编程技术网

Javascript 如何在html中选择(多个)的指定索引处插入选项?

Javascript 如何在html中选择(多个)的指定索引处插入选项?,javascript,jquery,html,Javascript,Jquery,Html,如何在元素中的指定索引处插入选项元素 谢谢$(“选择选项”).eq(索引).before($(“”).val(val).html(文本)); 以下是一种方法: var myOption = "<option>Dynamic Option</option>"; var index = 2; $(myOption).insertBefore("select option:nth-child("+index+")"); var myOption=“动态选项”; var指数=2

如何在
元素中的指定索引处插入选项元素

谢谢

$(“选择选项”).eq(索引).before($(“”).val(val).html(文本));

以下是一种方法:

var myOption = "<option>Dynamic Option</option>";
var index = 2;
$(myOption).insertBefore("select option:nth-child("+index+")");
var myOption=“动态选项”;
var指数=2;
$(myOption).insertBefore(“选择选项:第n个子项(+index+)”);

还有另一个选项,即sans jquery:

标记:

<select multiple="multiple" id="mySelect">
    <option>First</option>
    <option>Third</option>
</select>

弗斯特
第三
JS:


var myDdl=document.getElementById(“mySelect”);
var myOption=document.createElement(“选项”);
myOption.innerText=“第二”;
myDdl.options.insertBefore(myOption,myDdl.options[myDdl.options.length-1]);

我提交这个答案是因为问题中没有指定jquery

function insertOptionToSelect(select, idx, option) {
    var saved = [];
    var i;
    for (i = 0; i < select.options.length; i++) {
        saved.push(select.options[i]);
    }
    select.options.length = 0;
    for (i = 0; i < idx; i++) {
        select.options[select.options.length] = saved[i];
    }
    select.options[select.options.length] = option;
    while (i < saved.length) {
        select.options[select.options.length] = saved[i++];
    }
}

普通javascript(无jQuery)和跨浏览器。

要在第0个现有项之前选择值为“1”且文本为“text”的“mySelect”中插入新选项,请执行以下操作:

mySelect.options.add(新选项(“文本”,“1”),mySelect.options[0])


请参阅:

为什么要投票否决男生?这曾经是我的问题,为什么要降价?当你记下某件事时,这个小提示确实建议你留下一条评论,告诉你为什么要记下。。。我记下这些降价。他可以用10秒钟以上的时间来构思一个问题。说他尝试过的,包括更多的内容。用结构化英语写作会很好。谢谢。你能举个例子吗。我不能得到什么是索引值和所有。这要么是天才,要么是疯狂的黑客。我想使用elememts Id,而不是使用“选择”,因为我有多个elements@Dipak这种修改很简单:)请看这里:hi@Dipak-您有没有收到任何我可以帮助您处理的特定错误/破坏?请使用myDdl.options.add(myOption,index)
<script type="text/javascript">
    var myDdl = document.getElementById("mySelect");
    var myOption = document.createElement("OPTION");
    myOption.innerText = "Second";

    myDdl.options.insertBefore(myOption, myDdl.options[myDdl.options.length - 1]);

</script>
function insertOptionToSelect(select, idx, option) {
    var saved = [];
    var i;
    for (i = 0; i < select.options.length; i++) {
        saved.push(select.options[i]);
    }
    select.options.length = 0;
    for (i = 0; i < idx; i++) {
        select.options[select.options.length] = saved[i];
    }
    select.options[select.options.length] = option;
    while (i < saved.length) {
        select.options[select.options.length] = saved[i++];
    }
}
var myselect = document.getElementById('MyPizzaSelect');
insertOptionToSelect(myselect, myselect.selectedIndex, new Option('Pizza Margarita', '12345'));