1
私は何年もドロップダウンメニューを表示しようとしています。Javascript関数がフォーム内でレンダリングされない
私はdateYear()
を参照して、ドロップダウンメニューのすべての年を生成するために、単純なループを使用しています。
{this.state.careerHistoryPositions.map((careerHistoryPosition)
の外に{this.dateYear()}
を配置すると、正しく配置されますが、{this.state.careerHistoryPositions.map((careerHistoryPosition)
の中に配置すると、選択要素がレンダリングされますが、年は設定されません。
コンソールでもエラーは発生しません。
export default class CareerHistoryFormPage extends Component {
constructor(props) {
super(props);
const profileCandidateCollection = props.profileCandidate;
const careerHistoryPositions = profileCandidateCollection && profileCandidateCollection.careerHistoryPositions;
this.state = {
careerHistoryPositions: [{company: '', startDateYear: ''}],
};
}
dateYear() {
var yearDate = '';
for (var i = new Date().getFullYear(); i >= 1975; i--) {
yearDate += '<option value="' + i + '">' + i + '</option>';
}
$('select').html('<option>Year</option>' + yearDate);
}
}
render() {
return (
<form onSubmit={this.handleFormSubmit}>
{this.state.careerHistoryPositions.map((careerHistoryPosition) => (
<div key={careerHistoryPosition.uniqueId}>
<input
type="text"
value={careerHistoryPosition.company}
onChange={this.handleCompanyNameChange(careerHistoryPosition.uniqueId)}
/>
<select value={CareerHistoryFormPage.startDateYear} >
{this.dateYear()}
</select>
</div>
</form>
);
}
}
? – bp123