Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/75.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的标签_Javascript_Jquery_Html - Fatal编程技术网

添加新<;选项>;所有下拉列表<;选择>;使用javascript的标签

添加新<;选项>;所有下拉列表<;选择>;使用javascript的标签,javascript,jquery,html,Javascript,Jquery,Html,我正在尝试将下拉菜单选项“请选择”添加到默认情况下要选择的页面上每个下拉列表的顶部,使用类似于以下内容: window.onload = function() { $('select option[value="PSC"]').attr("selected",true); }; 这是我在下拉列表中使用的内容: window.onload = function AddItem(text,value) { // Create an Option object var opt

我正在尝试将下拉菜单选项“请选择”添加到默认情况下要选择的页面上每个下拉列表的顶部,使用类似于以下内容:

window.onload = function() {
    $('select option[value="PSC"]').attr("selected",true);
};
这是我在下拉列表中使用的内容:

window.onload = function AddItem(text,value) {
    // Create an Option object
    var opt = document.createElement("option");
    // Add an Option object to Drop Down/List Box
    document.getElementsByTagName("option").options.add(opt);
    // Assign text and value to Option object
    opt.text = 'Please select...';
    opt.value = 'Please Select';  
}
我是javascript新手,有人能给我指出正确的编译方向吗?这样当页面加载时,每个下拉列表都会得到一个名为“请选择”的默认选择选项

提前感谢

给你:

$('select').prepend('<option>Please select...</option>');
$('select').prepend('Please select…');
$(文档).ready(函数(){
$(“选择”)。前置(“请选择”);
});
$(文档).ready(函数(){
$('', {
文本:“请选择…”,
值:'请选择…',
所选:真
}).prependTo(“选择”);
});

或:

var select=document.getElementsByTagName(“选择”),
opt='';
对于(变量i=0;i
将纯javascript函数修改为此函数(这不会影响已选择的选项)

window.onload=函数附加项(文本、值){
//获取文档中的所有下拉列表框
var sel=document.getElementsByTagName(“选择”);
对于(变量x=0;x
很高兴发现jQuery使用了
insertBefore
,因此这些方法不会破坏和重新创建其他子节点,即使向其传递了HTML字符串:D@PaulS. 不知道你的意思。你能解释一下吗?我希望它是一个简单的
。innerHTML=str+。innerHTML
,但它实际上创建了一个文档片段,并使用DOM方法
insertBefore
将其插入文档中,保留原有内容--如果使用
.innerHTML
进行修改,则会破坏原有内容。谢谢!无论如何,要修改它,使其不会影响已经有选定值的下拉列表吗?你太棒了!不必挑剔,但如何将其分配到列表的顶部并将其附加到底部?@Tower是否要附加选项而不是预先添加选项?如果是,您可以使用
appendTo
方法,
.appendTo('select')。第二个代码还附加了新选项。对不起,这里有拼写错误,我想把它放在列表的顶部。以var select开头的当前代码将该选项置于下拉列表的底部。谢谢!是否要修改它,使其不会影响已存在选定值的下拉列表?@Tower我认为更好的方法是在后端添加“所有选定项”选项或在前端添加“所有选定项”。在同一个应用程序中使用两种不同的构建选择的方法很难维护,而且容易出错。
$(document).ready(function() { 
    $("select").prepend("<option value='' selected='selected'>Please select</option>");
});
$(document).ready(function() {    
   $('<option>', {
      text     : 'Please select...',
      value    : 'Please select...',
      selected :  true
   }).prependTo('select');
});
var select = document.getElementsByTagName("select"),
    opt = '';
for (var i = 0; i < select.length; i++) {
    opt = document.createElement("option");
    // opt.selected = true;
    opt.text = 'Please select...';
    opt.value = 'Please Select';
    select[i].options.add(opt);
}
     window.onload = function AddItem(text, value) {

        // Get all Drop Down/List Box in document
        var sel = document.getElementsByTagName("select");

        for (var x = 0; x < sel.length; x++) {

           // Create an Option object and set it's value/text
           var opt = document.createElement("option");
           opt.text = 'Please select...';
           opt.value = 'Please Select';

           //prepend in select box
           sel[x].insertBefore(opt, sel[x].options[0])
        }
     }