javascript - 获取文本字段或选择框的值或文本

标签 javascript jquery

我有一组输入字段的 ID。问题是它们要么是文本字段,要么是选择框。对于选择框,我想要内部文本,对于输入字段,我想要获取值并将其放入对象中。如果不是对选择框的处理,它与 serializeObject() 相同。我想知道以下代码片段是否是实现此目标的最佳方式:

var ids = [/* a bunch of ids here */]

var inputs = {}

$.each(ids, function(k,v){
    // is there any jQuery ready-made way to do this?
    var input = $('#' + v + ' :selected').text(); 
    inputs[v] = (input === '') ? $('#' + v).val() : input;
});

最佳答案

$.each(ids, function(k,v){
  inputs[v] = ($('#' + v).is('select')) ?
    $('#' + v).find("option:selected").text() :
    $('#' + v).val();
}

应该可以了。 o/

关于javascript - 获取文本字段或选择框的值或文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14622728/

相关文章:

javascript - 如何在不失去可点击性的情况下重复对div中的元素进行排序?

javascript - 单击 DIV 内的 IFRAME 时删除 DIV 元素

javascript - 为什么我的 jQuery AJAX 函数总是返回 false?

php - 使用 Ajax 将数组发送到 PHP 脚本

javascript - 如何在 WKWebView 中调试 javascript 代码

JavaScript 原型(prototype) - 覆盖某些元素的 .scrollTo

javascript - 尝试让异步数据库请求在 Angular 中工作, "Cannot call method then of undefined"

javascript - applicationCache 在共享 webworker (HTML5) 中是 'undefined'

javascript - 在 Bootstrap 模式中重新加载 div 后使用scrollTop 时,不会考虑新高度

Jquery 悬停与 .each 函数