フォームには約40種類のフィールド(選択、ラジオ、入力など)が含まれています。これらのフィールドには、CSSプロパティとして適用される値が含まれています。色は16進数のコードをとる)。jQuery複数のフィールドからCSSプロパティを設定する
私は既に各フィールドのIDを使用して変数にアタッチし、次にキーアップ時に変更したい要素のCSSプロパティに変数を渡す作業バージョンを取得しました。
function elementStyles(){
var bgcolor = $("input#id_bgcolor").val();
var color = $("input#id_textcolor").val();
var marginbottom = $("input#id_margin_btm").val();
var borderradius = $("input#id_border_rad").val();
$("h2").css({
"background-color": bgcolor,
"color": color
});
$("div").css({
"margin-bottom": marginbottom,
"border-radius": borderradius
});
}
$("input, select").on("change keyup, function(){
elementStyles();
});
私の質問は、心の中で彼らの順序を保持すると量が将来的に変更される可能性があり、フォーム項目の値のすべてを取得するための最も効率的な方法は何か、です。また、マークアップを変更してデータ属性を追加する方法もありません。
40個のプロパティすべてを手動でターゲティングしただけのケースですか?
残念ながら、データ属性を追加することはできません(フォームはオブジェクトを介して作成されます)。ただし、上記は完璧です。 –
質問にすべての要件を追加したい場合があります。その後、人々はあなたのためにうまくいかない答えに時間を費やすことはありません:)。 –
こんにちはマイク、私は二番目に最後の段落で述べました。 –