2011-08-30 67 views
2
$('<option></option>') 
      .attr('label', day) 
      .attr('value', day) 
      if(myDate.getDate() == day) 
      { 
      .attr('selected','selected')  
      } 
      .html(day) 
      .appendTo(daySelector); 

我想要做的是运行一个if语句,如果它是真正的选择那一天。如果日=天选择 - jQuery

谁能帮助感谢

回答

3

您可以使用一个对象来实现:

$('<option />', { 
    selected: myDate.getDate() === day, 
    value: day, 
    text: day 
}).appendTo(daySelector) 

这里是一个风格的例子:http://jsfiddle.net/9hVeq/

+1

不错!不知道你可以传递属性的对象。 –

+0

非常感谢你 - 第一次工作 – RussellHarrower

1

为什么不干脆把它放在一个VAR第一?或者我错过了什么?

var myOption = $('<option></option>').attr('label', day).attr('value', day); 

if(myDate.getDate() === day) 
    myOption.attr('selected', 'selected'); 

myOption.html(day); 
myOption.appendTo(daySelector); 
0

attr可以采取函数作为第二个参数来确定值应该是什么。

$('<option></option>').attr('label', day) 
         .attr('value', day) 
         .html(day) 
         .appendTo(daySelector) 
         .attr('selected', function() { 
          return (myDate.getDate() == day) ? "selected":null; 
         }); 
0
$('<option></option>') 
      .attr('label', day) 
      .attr('value', day) 
      .attr('selected',(myDate.getDate() == day)) 
      .html(day) 
      .appendTo(daySelector); 

应该够了。或者,您可以在包含选项的选择元素上设置值:

daySelector.val(day);