在jQuery中if(day = day select)

问题描述 投票:2回答:4
 $('<option></option>')
            .attr('label', day)
            .attr('value', day)
            if(myDate.getDate() == day)
            {
            .attr('selected','selected')    
            }
            .html(day)
            .appendTo(daySelector); 

我想要做的是运行if语句,如果是,则选择该日。

jquery date selected
4个回答
3
投票

您可以使用对象来完成此任务:

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

以下是该风格的一个例子:http://jsfiddle.net/9hVeq/


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);

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

daySelector.val( day );
© www.soinside.com 2019 - 2024. All rights reserved.