1

入力フィールドの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;
});
4

1 に答える 1

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

それはそれをする必要があります。o/

于 2013-01-31T10:00:15.697 に答える