2014-09-21 238 views
0

我在TableView中创建了一个PickerView,它在tableViewRow上。但是我无法访问Picker的完整属性。PickerView在Titanium中实现的TableView实现

例如我不能设置TextHint为的PickerView 我不能在选择器获取selectedRow在index.js

这里是我在INDEX.XML

代码
<Alloy> 
<Window class="container"> 
    <!-- <Label id="label" onClick="doClick">Hello, World</Label> --> 
    <TableView id="table"> 
     <TableViewSection> 
      <TableViewRow> 
       <TextField id="id_membership_number" width="Ti.UI.FILL" hintText="Membership Number"/> 
      </TableViewRow> 
      <TableViewRow> 
      <Picker id="id_picker" selectionIndicator="true" onChange="picker_method" value="Sector" selectionIndicator="true"> 
      <!-- On iOS, views can be added to picker rows --> 
        <PickerColumn id="column1">     
         <PickerRow title="Real Estate" id="id_picker_row">0</PickerRow> 
         <PickerRow title="Automobiles" id="id_picker_row">1</PickerRow> 
         <PickerRow title="Others" id="id_picker_row">2</PickerRow> 
        </PickerColumn> 
      </Picker> 
      </TableViewRow> 
      <TableViewRow title="Region"/> 
      <TableViewRow title="Membership Type"/> 
     </TableViewSection> 
    </TableView> 
    <Button id="id_member_search_btn" onClick="member_search_method"></Button> 
</Window> 

index.js

function picker_method(event){ 
    event=$.id_picker; 
    Ti.API.info("User selected: " + event.getSelectedRow(0) + column.getSelectedRow(0)); 
} 

在控制台我得到:

User selected: undefined 

回答

0

在你看来:

<Alloy> 
<Window class="container"> 
    <!-- <Label id="label" onClick="doClick">Hello, World</Label> --> 
    <TableView id="table"> 
     <TableViewSection> 
      <TableViewRow> 
       <TextField id="id_membership_number" width="Ti.UI.FILL" hintText="Membership Number"/> 
      </TableViewRow> 
      <TableViewRow> 
      <Picker id="id_picker" selectionIndicator="true" onChange="picker_method" value="Sector" selectionIndicator="true"> 
      <!-- On iOS, views can be added to picker rows --> 
       <PickerColumn id="column1">     
        <PickerRow title="Real Estate"/> 
        <PickerRow title="Automobiles"/> 
        <PickerRow title="Others"/> 
       </PickerColumn> 
      </Picker> 
      </TableViewRow> 
      <TableViewRow title="Region"/> 
      <TableViewRow title="Membership Type"/> 
     </TableViewSection> 
    </TableView> 
    <Button id="id_member_search_btn" onClick="member_search_method"></Button> 
</Window> 
</Alloy> 

在您的JS:

function picker_method(event){ 
    Ti.API.info("user selected : "+event.selectedValue); 
} 

你应该阅读更改事件文档来了解什么是传递到平变化更多信息处理器http://docs.appcelerator.com/titanium/3.0/#!/api/Titanium.UI.Picker-event-change

此外,请注意我删除了您在P上的重复ID ickerRows,ID必须是唯一的。