【问题标题】:How to post the same value from other options to the server如何将其他选项中的相同值发布到服务器
【发布时间】:2026-01-05 06:15:02
【问题描述】:

在我的 React 应用程序中,我有一个带有不同选项的选择框。其中两个选项具有相同的值以发布到服务器:

    <div className="form-group">
      <label>Category</label>
      <select className="form-control" onChange={this.handleCategorySelect} value={this.state.category}>
        <option></option>
        <option value="temperature">Temperature</option>
        <option value="humidity">Humidity</option>
        <option value="temperature">Water temperature</option>
        <option value="smoke">Smoke</option>
      </select>
    </div>

问题 1:当我选择“水温”选项时,我在选项字段中看到“温度” 问题2:如何让handleCategorySelect 函数正常工作?我的意思是,如何选择与“温度”选项值相同的“水温”选项并将其发送到服务器?

handleCategorySelect:

  handleCategorySelect = e => {
    this.setState({ category: e.target.value })
  }

问题 3:当用户在类别中选择“水温”选项时,我想禁用“频率”表单字段,该怎么做?里面有什么“if”语句吗?

    <div className="form-group">
      <label>Category</label>
      <select className="form-control" onChange={this.handleCategorySelect} value={this.state.category}>
        <option></option>
        <option value="temperature">Temperature</option>
        <option value="humidity">Humidity</option>
        <option value="temperature">Water temperature</option>
        <option value="smoke">Smoke</option>
      </select>
    </div>

    <div className="form-group">
      <label>Frequency</label>
      <select className="form-control" onChange={this.handleFrequency} value={this.state.frequency}>
        <option></option>
        <option value="seconds">Seconds</option>
        <option value="minutes">Minutes</option>
        <option value="hours">Hours</option>
        <option value="days">Days</option>
      </select>
    </div>

【问题讨论】:

  • 我建议使用npmjs.com/package/react-select 而不是这段代码。这很神奇。
  • Water temperature 将给出值temperature
  • 我已经检查过了。水温工作正常。请先更改其值。
  • 我已经编辑了我的问题,如果可以的话,请检查一下

标签: javascript html reactjs forms validation


【解决方案1】:

温度和水温具有相同的“温度”值

  <option value="temperature">Temperature</option>
  <option value="temperature">Water temperature</option>

将水温值更改为其他值

  <option value="waterTemperature">Water temperature</option>

【讨论】:

  • 我不能,因为服务器需要从这两个选项中获取“温度”值
  • 如果选择了水温,您将尝试禁用频率,因此在将数据发送到服务器之前,通过向其添加类或将其从 DOM 中删除来禁用频率 div,然后设置类别值到温度。然后将其发送到服务器。
最近更新 更多