質問する
3938 次
3 に答える
3
セレクターは入力のデフォルト状態をチェックするため、フィールドのフィルタリングを使用してください。[value=""]
$('#form').on('submit', function() {
$(':input', this).filter(function() {
return this.value.length == 0;
}).remove();
});
デモ: http://jsfiddle.net/bCskH/
更新:入力フィールドを削除しないようにするには、単純に無効にします。
$('#form').on('submit', function() {
$(':input', this).filter(function() {
return this.value.length == 0;
}).prop('disabled', true);
});
効果は同じですが、私見の方がはるかに優れています:)
于 2012-05-05T13:41:28.407 に答える
2
jqueryセレクターを使用serialize()
して、値を持つ入力のみを選択することができます ここに例があります
<form id="test">
<input name="field1" value="Test"><br/>
<input name="field2" value=""><br/>
<input name="field3" value="value"><br/>
<input id="btn" type="button" value="submit"/>
</form>
$('#btn').on('click',function() {
alert($('#test input[value != ""]').serialize());
});
また、代わり.live()
にjquery 1.7を使用しても機能するのではないかと思い.on()
ます。このリンクを参照すると、廃止されたと書かれています
于 2012-05-05T13:47:47.877 に答える
1
[value=".."]
現在の値と同期されていない属性にアクセスします。それに加えて、セレクターをコンテキストとして指定することはできません。そのため#form
、メインのセレクターに移動して.filter()
、一致する要素を空の要素に制限するために使用します。
$('#form input').filter(function() {
return !$(this).val();
});
于 2012-05-05T13:38:42.160 に答える