Javascript jQuery make injected选项默认选择

Javascript jQuery make injected选项默认选择,javascript,jquery,Javascript,Jquery,我有一系列的选择,不幸的是,我必须在其中注入一个名为“请选择”的选项作为第一个选项。然后我想在页面上的所有选择中选择“请选择”,选择。由于我无法更改HTML,这是我唯一的选择 但是,我的代码似乎只选择了第一个select的“请选择” HTML: 一些价值 一些价值 一些价值 一些价值 一些价值 一些价值 一些价值 一些价值 一些价值 一些价值 一些价值 一些价值 jQuery: $(window).load(function(){ $('.cartDdlOptions').prepe

我有一系列的选择,不幸的是,我必须在其中注入一个名为“请选择”的选项作为第一个选项。然后我想在页面上的所有选择中选择“请选择”,选择。由于我无法更改HTML,这是我唯一的选择

但是,我的代码似乎只选择了第一个select的“请选择”

HTML:


一些价值
一些价值
一些价值
一些价值
一些价值
一些价值
一些价值
一些价值
一些价值
一些价值
一些价值
一些价值
jQuery:

$(window).load(function(){


  $('.cartDdlOptions').prepend('<option value="" selected>Please Select</option>');
  var selectOperator = $(".cartDdlOptions option").eq(0);

  $(".cartDdlOptions").each(function(){

    if (selectOperator.val() == ""){
      console.log(selectOperator);
      selectOperator.attr("selected", true); 
    }

  });

});
$(窗口).load(函数(){
$('.carddloptions')。前置('请选择');
var selectOperator=$(“.cartdldloptions选项”).eq(0);
$(“.cartdldloptions”)。每个(函数(){
如果(selectOperator.val()==“”){
console.log(selectOperator);
selectOperator.attr(“selected”,true);
}
});
});


真的没办法解决这个问题。非常感谢您的帮助。

您只需两行代码就可以完成此任务,而无需以这种方式编写大量代码:

$(".cartDdlOptions").each(function(){

      $(this).prepend('<option value="0" selected>Please Select</option>'); //add please select option
      $(this).val("0") // set it as selected


  });
$(“.cartdldloptions”)。每个(函数(){
$(this).prepend('请选择');//添加请选择选项
$(this.val(“0”)//将其设置为选中状态
});
如果您不想设置属性,那么您可以按照@t.J Cowder的指示执行:

$(".cartDdlOptions").each(function () {

    $(this).prepend('<option value="" selected>Please Select</option>'); //add please select option
    $(this).val("") // set it as selected

});
$(“.cartdldloptions”)。每个(函数(){
$(this).prepend('请选择');//添加请选择选项
$(this).val(“”//将其设置为选中状态
});
例子:

注意
var selectOperator=$(“.cartdldloptions option”).eq(0)
只会为您提供第一个匹配select的第一个选项,但您有多个select。啊。。这一定是我的错误,我不明白为什么第一个是唯一受影响的,因为他添加了
value=“
,大概他…希望值是
,而不是
“0”
。(但是
val(“”
应该行。)@T.J.Crowder是的,你是对的,但我只是缩短了代码,只需要两行就可以完成,而不是写那么多行来实现这一点,这是不相关的(这肯定是更好的方法)。无需更改他的值,只需使用他正在使用的值即可。还要注意,您的小提琴有误导性(尽管您的答案大体上是正确的),因为有两个原因会选择第一个选项(您可以完全删除
val
调用):第一,正在插入的标记中已选择了
,第二个选项是第一个选项,它将被默认设置。但是这样的事情,我们去掉了这两个因素,证明了
val
是有效的(以
作为值):这是有效的。我完全忽略了复杂的事情。谢谢:)
$(".cartDdlOptions").each(function () {

    $(this).prepend('<option value="" selected>Please Select</option>'); //add please select option
    $(this).val("") // set it as selected

});