1

ドロップダウンリストに特定の値が選択されている場合、カレンダーを入力フィールドに設定したい。私が直面している問題は、イベントが発生するが、クリックが複数回発生するまでスクリプトが実行されないことです。試しclickてみfocusましたが、同じ結果になりました!

ここに私のコードがあります

 <select name="selectKey" id="selectKey">
   <option value="1" >mail no</option>
   <option value="2" > mail type</option>
   <option value="3"  selected="selected"> mail date</option>
   <option value="4" >title</option>
</select>

<input type="text" name="srchTxt" id="srchTxt" value="">

そしてここにjsがあります

$(document).ready(function() {



 $('input[name=srchTxt]').bind('focus', function(event) {
    // event.stopPropagation();

    if ($("select[name='selectKey']").children(':selected').val() == 3) {  
        console.log('ysssssssssssssss');
        $('input[name=srchTxt]').datepicker({
            //   showWeek: true,
            firstDay: 1,
            dateFormat: 'dd/mm/yy'
        })
    }
   });
});​

ここにデモがありますhttp://jsfiddle.net/VAvwG/

4

2 に答える 2

2

.datepicker('show')最後に追加するだけです

$(document).ready(function() {
    $('input[name=srchTxt]').bind('focus', function(event) {
        if ($("select[name='selectKey']").val() == 3) {  
            $('input[name=srchTxt]').datepicker({
                firstDay: 1,
                dateFormat: 'dd/mm/yy'
            }).datepicker('show')
        }
    });
});

http://jsfiddle.net/VAvwG/3/

于 2012-09-11T07:37:45.003 に答える
1

これは、最初に入力に焦点を合わせたときにdatepicker追加されないためです。変更イベントを使用しないのはなぜですか?

$(document).ready(function() {
    $('#selectKey').on('change', function(event) {
        if (this.value == 3) {
            $('#srchTxt').datepicker({
                firstDay: 1,
                dateFormat: 'dd/mm/yy'
            })
        }
    }).change()
});

http://jsfiddle.net/VAvwG/5/

于 2012-09-11T07:42:42.817 に答える