2016-06-02 15 views
1

私は非常に単純な問題があります。しかし、私は問題を解決することができません。選択変更でdatepickerを設定するにはどうすればよいですか?

選択変更時に入力にdatepickerを設定したいとします。また、他のオプションを選択して変更すると、日付ピッカーが削除され、テキストボックスのみが表示されます。

これは私がこれまでのところ、私は間違っているつもりです

jQuery(document).ready(function(){ 

        jQuery('#filevalidity').change(function(){ 
         var option = jQuery(this).find("option:selected").val(); 
         if(option === "MAX_DOWNLOAD_LIMIT") 
         { 

          jQuery('#dlorex').next('input').datepicker("destroy"); 
         } 
         if(option === "EXPIRY_DATE") 
         { 

          jQuery('#dlorex').next('input').datepicker({minDate : 1}); 
         } 
        }); 

       }); 

Here is the fiddle

を試してみましたが、何ですか?

答えて

1

next()は、(この場合は、TRと同じレベル)と同じレベルの兄弟を取得

あなたはinputをターゲットにfind()を使用することができます。また、いくつかのタグを適切に閉じていません。ここで

あなたが行く:

jQuery(document).ready(function() { 
 

 
    jQuery('#filevalidity').change(function() { 
 
    var option = jQuery(this).find("option:selected").val(); 
 
    if (option === "MAX_DOWNLOAD_LIMIT") { 
 

 
     jQuery('#dlorex').find("input[name='downlimit']").datepicker("destroy"); 
 
    } 
 
    if (option === "EXPIRY_DATE") { 
 

 
     jQuery('#dlorex').find("input[name='downlimit']").datepicker({ 
 
     minDate: 1 
 
     }); 
 
    } 
 
    }); 
 

 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<link href="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/themes/smoothness/jquery-ui.css" rel="stylesheet" /> 
 
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/jquery-ui.min.js"></script> 
 
<div id="general"> 
 
    <table width="100%"> 
 

 
    <tr> 
 
     <td>File Validity:</td> 
 
     <td> 
 
     <select name="filevalidity" id="filevalidity"> 
 
      <option value="MAX_DOWNLOAD_LIMIT">Download Limit</option> 
 
      <option value="EXPIRY_DATE">Expiry Date</option> 
 
     </select> 
 
     </td> 
 
    </tr> 
 
    <tr id="dlorex"> 
 
     <td> 
 
     <label>Download Limit</label> 
 
     </td> 
 
     <td> 
 
     <input type="text" name="downlimit" /> 
 
     </td> 
 
    </tr> 
 

 
    </table> 
 
</div>

はフィドル:http://jsfiddle.net/ktjsyfg0/4/

+0

なぜ.next()メソッドが動作しないのですか? – Nishant123

+0

'jQuery( '#dlorex')。next( 'input')'あなたのコードではそうではない 'tr'と同じレベルで' input'を探します –

-1

$( "日付 ")日付ピッカー({ にonSelect:関数(dateText){ 表示(" 選択された日:" + dateText + ";入力の現在値:" + this.value);} });

関連する問題