3

私はこのフィドル<p>を持っています。複数選択のリストボックスが表示されます。読み取りをクリックすると、選択した値が取得され、タグに入れられます。

2 つの質問:

1) 私が作成したフィドルをどのように変更すれば、リストボックス内のアイテムの選択が完了すると、それらが自動的に<p>タグに入れられますか? 私はあなたが「変更中」のルートを下っていると推測しています。

2) 私が作成したフィドルをどのように変更して、選択した値の配列を非表示の入力に入れ、それをMVC3 コントローラーに送信しますか? これはこのようにして達成可能ですか?

更新: 皆さんが回答として付けたものを取り入れて、私が達成したことを共有し、あなたの回答で達成したことを共有したいと思いました。このフィドルに示されている例

  • 単一選択リストボックス
  • 最初のリストボックスで選択された項目に応じて、2 番目のリストボックスの内容を動的に変更する
  • 最後に最初のリストボックスから選択された値を持つ2番目のボックスから選択されたアイテムを表示し、これはすべて非表示の入力に入れられます

私を助けるために時間を割いてくれてありがとう:)

4

3 に答える 3

1

ここにフィドルがありますhttp://jsfiddle.net/tAaRR/2/

私はあなたのjavascriptコードを以下に置き換えました:

 $(document).ready(function () {
     $('#App_RunFromUSB').change(function () {
         if ($('#App_RunFromUSB:checked').length > 0) {
             $('#jj').show('1000');
         } else {
             $('#jj').hide('1000');
         }
     });

     $('#SelectBox').change(function () {
      var Value = '';
             var text = '' 

         $("#SelectBox option:selected").each(function () {
            Value+=$(this).val();
             text +=$(this).text();
             $("#selectedValues").append(Value + ": " + text + "<br />");
         });
      alert(text);
         $('#hidden1').val(text);

     });

 });

お役に立てれば。何か問題があれば私に知らせてください。

于 2013-03-20T10:14:52.583 に答える
1

好奇心から、いくつかの最適化でフィドルを更新し、多くの不要なコードを削減しました。必要に応じてご覧ください。

http://jsfiddle.net/tkkSr/

$(function () {       
     var artItems = ["Art 1","Art 2","Art 3","Art 4","Art 5","Art 6"];
     var vidItems = ["Video 1","Video 2","Video 3","Video 4","Video 5","Video 6"];
     $('#SelectBox').change(function () {
         var str = "", inHTML = "",items;
         items = $(this).val() == 'art' ? artItems: vidItems;
         $.each(items,function(i,ob){
             inHTML += '<option value="'+i+'">'+ob+'</option>'
         });
         $("#SelectBox2").empty().append(inHTML);
     });

     $('#SelectBox2').change(function () {
         $("#selectedValues").text($(this).val() + ';' + $("#SelectBox").val());
         $('#hidden1').val($(this).val());
     });

 });
于 2013-03-21T04:33:06.263 に答える
0

jQuery のこのビットは、行う必要があります.....ここに例を示します。

$("#SelectBox").change(function(){
$("#selected").empty();

$("#SelectBox option:selected").each(function(){
    $("#selected").append("<p>" + $(this).val() + " : " + $(this).html() + "</p>"); 
    });
});

ここで、選択した項目を非表示の値に含めてコントローラーに投稿する場合は、AJAX 呼び出しまたは非表示のフォーム値を使用できます。

于 2013-03-20T10:02:32.997 に答える