1

mvc と razor によって生成され、送り返されたフォームがあります。フォームから重複を削除するにはどうすればよいですか? 例えば。ぶどうのチェックボックスが 2 つ、バナナのチェックボックスが 1 つあります。重複するぶどうのチェックボックスを削除したいと思います。$('.fruit') を配列に入れることはできますが、そこから重複をどのようにターゲットにしますか?

 <div class="fruit">
      <input data-val="true" data-val-number="" data-val-required="" name=" [5].UniqueValue[3].Id" type="hidden" value="123">
      <input name="[5].UniqueValue[3].fruit" type="hidden" value=".grapes">
      <input data-val="" data-val-required="" name="[5].UniqueValue[3].IsSelected" type="checkbox" value="true"><input name="[5].UniqueValue[3].IsSelected" type="hidden" value="false"> grapes
 </div>
 <div class="fruit">
      <input data-val="true" data-val-number="" data-val-required="" name="[5].UniqueValue[2].Id" type="hidden" value="321">
      <input name="[5].UniqueValue[2].fruit" type="hidden" value=".bananas">
      <input data-val="" data-val-required="" name="[5].UniqueValue[2].IsSelected" type="checkbox" value="true"><input name="[5].UniqueValue[2].IsSelected" type="hidden" value="false"> bananas
 </div>
 <div class="fruit">
      <input data-val="true" data-val-number="" data-val-required="" name="[5].UniqueValue[1].Id" type="hidden" value="456">
      <input name="[5].UniqueValue[1].fruit" type="hidden" value=".grapes">
      <input data-val="" data-val-required="" name="[5].UniqueValue[1].IsSelected" type="checkbox" value="true"><input name="[5].UniqueValue[1].IsSelected" type="hidden" value="false"> grapes
 </div>
4

1 に答える 1

2

:gt()および:has()セレクターを使用できます。

フィドル

$('.fruit > [name$=fruit]').each(function () {
    $('.fruit:has([value="' + $(this).prop('value') + '"]):gt(0)').remove();
});
于 2013-08-07T02:38:06.120 に答える