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