내 선택 옵션 목록에서 속성을 가져오고 싶습니다. 에서React에서 선택한 선택 속성 받기
는 그 사이에 내 코드는 다음과 같다 :
var Billing = React.createClass({
getInitialState() {
return {
associations: [],
value: '',
associationsList: '1'
};
},
handleChange(event) {
this.setState({value: event.target.value});
},
handleOption(event){
var option = event.target.getAttribute('data-id');
this.setState({associationsList: option});
},
render() {
var listAssociations = this.state.associations.map(function(index){
return (
<option onChange={this.handleOption} value={index.name} data-id={index.id} ref={index.name} key={index.id}>{index.name}</option>
)
});
var BillingInfo
{
if(this.state.associationsList == "0")
{
return (
<div>
<Tabs selected={0}>
<Pane label="Billing Info">
<div className="row">
<div className="small-12">
Associations:
<select value={this.state.value} onChange={this.handleChange}>
{listAssociations}
</select>
</div>
</div>
<div>
{this.state.value}<br/>
{this.state.associationsList}
Basic package
</div>
</Pane>
<Pane label="Billing History">
<div>Billing history</div>
</Pane>
</Tabs>
</div>
);
나는 내가 다른 출력을 얻을 "데이터 ID"를 검색하려면 "index.name"로 옵션 값을 정의 할 수 있습니다. 누군가가 나를 도울 수 있습니까?
수정 됨
다음과 같이 코드를 업데이트했습니다. 하지만 여전히 데이터 ID를 얻을 수 없거나 "id"로 "값"을 설정하지 않고도 내 데이터 ID를 얻을 수있는 다른 방법이 있습니다.
handleChange(event) {
var index = event.target.selectedIndex;
var optionElement = event.target.childNodes[index]
var option = optionElement.getAttribute('data-id');
this.setState({
associationsList: option,
value: event.target.value
});
},
render() {
var listAssociations = this.state.associations.map(function(index){
return (
<option value={index.name} data-id={index.id} ref={index.name} key={index.id}>{index.name}</option>
)
});
var BillingInfo
{
if(this.state.associationsList == "0")
{
return (
<div>
<Tabs selected={0}>
<Pane label="Billing Info">
<div className="row">
<div className="small-12">
Associations:
<select value={this.state.value} onChange={this.handleChange}>
{listAssociations}
</select>
</div>
</div>
<div>
{this.state.value}<br/>
{this.state.associationsList}
Basic package
</div>
</Pane>
<Pane label="Billing History">
<div>Billing history</div>
</Pane>
</Tabs>
</div>
);
}
감사합니다. handleOption 핸들러를 제거했습니다. 하지만 여전히 '데이터 ID'를 얻을 수 없습니다. –