【问题标题】:The select element should return 2 values选择元素应返回 2 个值
【发布时间】:2009-01-30 10:17:09
【问题描述】:

我有一个带有选项的选择框。选项的值获取每个选项中显示的项目的 ID。
我确实有其他值应该与此选项相关联。是否有捷径可寻?

<select id="category" name="data[cat]">
<option value="12" label="0">A</option>
<option value="7" label="0">B</option>
</select>

我尝试通过将第二个值输入标签属性来执行此操作,但问题是我不知道获取所选选项的标签值的正确方法。 这是用 jQuery 编写的。

要获得我使用的选定选项:

$("#category").livequery('change', function () {            
      var catId = ($(this)[0].value); 
});

这很好用,但我只是不知道如何获取所选选项的标签值。 或者也许是解决这个问题的更好方法。

【问题讨论】:

    标签: php jquery html html-select


    【解决方案1】:

    label 属性被某些浏览器用来显示选项的内容,因此您的列表框可能会显示两个 0 选项。

    更好的解决方案可能是执行以下操作:

    <select id="category" name="data[cat]">
        <option value="12,0">A</option>
        <option value="7,0">B</option>
    </select>
    

    并在事件处理程序中拆分值,例如

    $("#category").livequery('change', function () {            
        var values = ($(this)[0].value).split(",");
        var catId = values[0];
        var otherId = values[1];
    });
    

    【讨论】:

      【解决方案2】:

      其中一种方法是将option的值设置为JSON字符串,如

      <select id="category" name="data[cat]">
          <option value="{value1:10, value2:20}" label="0">A</option>
          <option value="{value1:30, value2:40}" label="0">B</option>
      </select>
      

      然后将值解析为 JSON 对象。获得 JSON 对象后,您可以从中提取单个值。通过这种方式,您可以添加任意数量的值。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2022-01-03
        • 1970-01-01
        • 1970-01-01
        • 2012-01-22
        • 2023-03-20
        • 2014-09-14
        • 2022-10-15
        • 2016-12-29
        相关资源
        最近更新 更多