javascript - 使用 jQuery 在 HTML <select/> 中将键值对保持在一起?

标签 javascript jquery html

在 jQuery 中给定一个带有多个选项的选择。

$select = $("<select></select>");
$select.append("<option>Jason</option>") //Key = 1
       .append("<option>John</option>") //Key = 32
       .append("<option>Paul</option>") //Key = 423

key 应该如何存储和检索?

ID 可能是一个不错的地方,但如果我有多个选择的共享值(和其他情况),则不能保证唯一。

谢谢

并本着 TMTOWTDI 的精神。

$option = $("<option></option>");
$select = $("<select></select>");
$select.addOption = function(value,text){
    $(this).append($("<option/>").val(value).text(text));
};

$select.append($option.val(1).text("Jason").clone())
       .append("<option value=32>John</option>")
       .append($("<option/>").val(423).text("Paul"))
       .addOption("321","Lenny");

最佳答案

就像卢卡斯说的那样,值属性就是你所需要的。使用您的代码,它看起来像这样(我向 select 添加了一个 id 属性以使其适合):

$select = $('<select id="mySelect"></select>');
$select.append('<option value="1">Jason</option>') //Key = 1
   .append('<option value="32">John</option>') //Key = 32
   .append('<option value="423">Paul</option>') //Key = 423

jQuery 允许您使用 val() 方法获取值。在 select 标签上使用它,您可以获得当前所选选项的值。

$( '#mySelect' ).val(); //Gets the value for the current selected option

$( '#mySelect > option' ).each( function( index, option ) {
    option.val(); //The value for each individual option
} );

以防万一,.each 方法循环遍历查询匹配的每个元素。

关于javascript - 使用 jQuery 在 HTML <select/> 中将键值对保持在一起?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27219/

相关文章:

javascript - 我如何在 angularJS 中实现按 url 值过滤?

javascript - 页面转换期间的 Ajax 调用

javascript - 获取 Repeater 中控件的 ClientId

jquery - 如何获得这个父值?

php - 导出到 Excel 或 csv

javascript - 窗口最大化时,Mac Chrome 悬停事件的行为有所不同

javascript - 如何用jquery加载图片?

javascript - 如何增加输入的数字?

iphone - 在 iPhone 上不停止 iTunes 音频的情况下播放 HTML5 音频

javascript - jquery元素定位问题