値を抽出するために、入力されたすべてのフォーム項目、入力、選択、ラジオ、チェックボックスなどをループしたいと考えています。
次のコードはうまく動作します
var fields = $(":input").serializeArray();
$("#results").empty();
jQuery.each(fields, function(i, field){
$("#results").append(field.value + " ");
ただし、返される値に名前、ID、タイトルなどの複数の属性を追加したいのですが、残念ながら、これを試みてもうまくいきません。
var fields = $(":input").serializeArray();
$("#results").empty();
jQuery.each(fields, function(i, field){
var vTitle = $(each).attr('title');
$("#results").append(vTitle + " " + field.value + " ");
動作しません
どんな助けでもいただければ幸いです
乾杯
編集...入力していただきありがとうございますが、返されるものは「未定義」です。これは私が使用しているHTMLです
すべてのコンテンツを表示するように編集されました
結果:
<form>
<select title="Staff:" name="single">
<option>Single</option>
<option>Single2</option>
<option>Single3</option>
</select>
<select name="multiple" multiple="multiple">
<option selected="selected">Multiple</option>
<option>Multiple2</option>
<option selected="selected">Multiple3</option>
</select><br/>
<input title="Staff:" type="checkbox" name="check" value="check1" id="ch1"/>
<label for="ch1">check1</label>
<input type="checkbox" name="check" value="check2" checked="checked" id="ch2"/>
<label for="ch2">check2</label>
<input type="radio" name="radio" value="radio1" checked="checked" id="r1"/>
<label for="r1">radio1</label>
<input type="radio" name="radio" value="radio2" id="r2"/>
<label for="r2">radio2</label>
</form>
<script>
function showValues() {
var fields = $(":input");
$("#results").empty();
jQuery.each(fields, function(i, v){
$("#results").append(v.title + " " + v.value + " ");
});
}
$(":checkbox, :radio").click(showValues);
$("select").change(showValues);
showValues();
</script>
</body>
select 値に追加された「staff:」を確認する必要があります
これは私のために働いた
function showValues() {
var fields = $(":input");
$("#results").empty();
var val;
jQuery.each(fields, function (i, v) {
// if doesn't have checked property then get value -
// if checked return value
// else return empty string
val = this.checked == undefined ? this.value : this.checked ? this.value : "";
if (val != ''){
$("#results").append(v.title + " " + val + " " + v.id + "<br/> ");
}
});
}
$("select,:checkbox, :radio").change(showValues);
showValues();
これはフォーム要素をループし、要素に値がある場合にのみ要素値とタイトル属性を返します...どうもありがとう@wirey