2016-07-05 4 views
0

appceleratorスタジオでカスタムモーダルを構築しています。DatePickerからTextFieldのデータを設定する方法

だから、これはコードです:

<Alloy> 
    <Window id="modal_add_edit" onClose="cleanup" modal="true"> 
     <View class="container"> 
      <Label id="title" class="title"/> 
      <View class="separator"></View> 

      <TableView id="table" height="Titanium.UI.SIZE" layout="vertical">       
        <TableViewRow class="menu_item" top="25"> 
         <Label id="description" class="label" left="12" /> 
         <Picker id="comboDecription" left="20" selectionIndicator="true"> 
          <PickerColumn id="column1"> 
           <PickerRow title="Esposizione Tossica"/> 
           <PickerRow title="Stato civile"/> 
           <PickerRow title="Diet"/> 
          </PickerColumn> 
         </Picker> 
        </TableViewRow> 

        <!-- flags --> 
        <TableViewRow id="data" class="menu_item" top="25"> 
         <!--DATA START--> 
         <Label id="start_date" class="label" left="12" /> 
         <TextField id="textStartDate" class="field" 
          width="200px"></TextField> 
        </TableViewRow> 



      </TableView> 

      <View class="separator"></View> 
      <TableView id="tableButton" width="Titanium.UI.FILL" layout="horizontal">       
        <TableViewRow class="menu_item" top="25"> 
         <Button id="buttonClose" class="buttonClose" onClick="onClose" ></Button> 
         <Button id="buttonSave" class="buttonSave"></Button> 
        </TableViewRow> 
      </TableView> 
     </View> 
    </Window> 
</Alloy> 

だから私はtextStartdate、日付ピッカー上のユーザーのクリックが表示されている場合ことをしたいです。私はtextStartDateをクリックしようとした場合次に、私は日付ピッカーを見ることができます

var picker = Ti.UI.createPicker({}); 
$.textStartDate.addEventListener('click', function(e) { 
    picker.showDatePickerDialog({ 
     value : new Date(), // some date 
     callback : function(e) { 
      if (e.cancel) { 
       Ti.API.info('user canceled dialog'); 
      } else { 
       selectedDate = e.value; 
       $.textStartDate.setValue(String.formatDate(selectedDate, 'medium')); 
      } 
     } 
    }); 
}); 

、その後、私は、データを設定し、[OK]ボタンをクリックしますが、私はtextStartDate上のデータを表示することはできません。これは私のコントローラのコードです。

私がデバッグで、コード試すことができた場合:

String.formatDate(selectedDate, 'medium') 

リターン正しいデータを、私は私のEditTextにそれを見ることができない

編集 私は追加画面が

ショット

enter image description here

これはapp.tssのフィールドクラスです

".field": { 
    left: "5%", 
    width: Titanium.UI.FILL, 
    borderRadius: 5, 
    hintTextColor: "#aaa", 
    color: "#333", 
    backgroundColor: "white" 
} 

答えて

1

あなたはString.formatDate(selectedDate, 'medium')、正しいデータを返すされていますが、日付を見ることができないので、私はそれはあなたのテキスト・フィールドの色特性に問題があるかもしれないと推測できることを言ったように。

あなたは、テキスト・フィールドのbackgroundColorとは異なるものに色のプロパティを設定している、またはあなたがそのようなプロパティを設定していない場合は、その後、私はまだあなたがbackgroundColorのを設定することをお勧めしていることを確認してくださいのプロパティとデフォルト値を使用して、テキスト値がテキストフィールドに正しく表示されるようにします。

テーマやOSの種類によっては、デフォルトのテキストカラー&のbackgroundColorの組み合わせが同じで、テキスト値が見えなくなることがあります。

+0

その文字列は、正しい文字列を返しますが、私は "ピッポ"を設定しようとすると同じです。テキストフィールドの背景色がテキストの色と異なる – bircastri

+0

デフォルト値のプロパティを何かに設定して確認し、スクリーンショットを共有できますか?またはちょうど私がここでそれを確認することができるようにいくつかのコードを共有する –

+0

一瞬、私はスクリーンショットを共有します。しかし、もし私がtextStartdateの値を設定しようとすると、デバッグを続行しようとすると、textStartdateを検査しようとすると値は正しいが表示されない – bircastri

関連する問題