我有一个包含选项的选择框。选项的值获取每个选项中显示的项目的ID 我确实有一个应该在此选项上链接的其他值。是否有捷径可寻?
<select id="category" name="data[cat]">
<option value="12" label="0">A</option>
<option value="7" label="0">B</option>
</select>
我尝试将第二个值输入到label属性中,但问题是我不知道获取所选选项的标签值的正确方法。 这是用jQuery编写的。
要使用我选择的选项:
$("#category").livequery('change', function () {
var catId = ($(this)[0].value);
});
这很好用,但我不知道如何获取所选选项的标签值。 或者也许是解决这个问题的更好方法。
答案 0 :(得分:4)
某些浏览器使用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];
});
答案 1 :(得分:4)
其中一种方法是将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对象后,您可以从中提取单个值。通过这种方式,您可以添加任意数量的值。