1

C# と SQL Server 2005 を使用して ASP .Net MVC 3 アプリケーションを開発しています。

ビューには、ボタンである DropDownList があります。

ボタンをクリックするたびに DropDownList からアイテムを削除するにはどうすればよいですか。

JavaScript を使用しようとしていますが、ボタンをクリックしても何も起こらないため、機能していないと思います。

これはコードです:

<%:Html.Label("Poste :")%>
<%:Html.DropDownListFor(
    model => model.SelectedPoste,
    Model.PostesItems,
    new { @id = "poste" })%>

<div>
    <input type="submit"
           value="Enregistrer"
           id="btnSave"
           onclick="remove()" />
</div>

<script type="text/javascript">    
    function remove() {
        var rm = document.getElementById('btnSave');
        var poste = document.getElementById('poste');

        poste.removeItem(); 
    }
</script>
4

4 に答える 4

2

これを試して:

$("#poste option[value='X']").each(function() {
    $(this).remove();
});

または、より簡潔に言うと、これも同様に機能します。

$("#poste option[value='X']").remove();

例:

$("#btnSave").click(function(){
   $("#poste option[value='X']").remove();
});

JQueryを使用することを忘れないでください:)

于 2013-05-24T08:53:30.507 に答える
2
  1. 生成された HTML は、select 要素に、設定しようとしている「poste」ではなく、「SelectedPoste」の ID を与えます。

  2. removeアイテムを削除するために使用します。

JavaScript を次のように変更します。

var poste = document.getElementById('SelectedPoste');

poste.remove(poste.selectedIndex); 

編集: 選択用に生成された HTML は次のようになります。

<select id="poste" name="SelectedPoste">...</select>

これらの 2 行のいずれかがその要素を取得します。

var poste = document.getElementById('poste');

また

var poste = document.getElementById('SelectedPoste');

(少なくとも IE10 では)

次に、選択したアイテムをリストから削除するには、次のようにします。

poste.remove(poste.selectedIndex);

これはボタンを削除しません:)

編集 2: Dimitar の回答と同様に、関数名を別のものに変更する必要がありremoveます。

これを行うと、上記のコードは IE と Chrome で動作します。

于 2013-05-23T19:09:22.747 に答える