2012-02-15 7 views
1

複数行のテキストボックスから選択コントロールにデータを転送しようとしています。 複数行のテキストボックスがポップアップとして表示され、ユーザーがポップアップウィンドウでsubmitをクリックすると、テキストボックスに貼り付けられたすべてのレコードを選択コントロールに転送します。 おそらくjqueryやjavascript、あるいは多分何かがあります。このページはMVC3 Razorに組み込まれています。javascriptポップアップの複数行のテキストボックスから選択コントロールにデータを転送

ポップアップ制御のためのスクリプト:ここ ページからコードです

<script type="text/javascript"> 
    $(function() { 
     $("a[id^=opener]").click(function() { 
        $("#dialog").dialog('destroy'); 
        $("#dialog").attr("title", "Please paste your products") 
        .html("<p><textarea name=\"TextMessage\" rows=\"10\" cols=\"72\" /><br /><input type=\"submit\" value=\"Submit\" /></p>"); 

        $("#dialog").dialog({ 
         height: 420, 
         width: 650, 
         modal: true 
        }); 
     }); 

    }); 
</script> 

.cshtmlページ:

enter image description here

:ページから

@using (Html.BeginForm("ASPXView", "Report", FormMethod.Post)) { 
    @Html.ValidationSummary(true, "Password change was unsuccessful. Please correct the errors and try again.") 
    <div> 
     @Html.Hidden("Id", Model.Report.Id) 
     <div id="accordion"> 
     @{int i=0;} 
      @foreach (var item in Model.Parameters) 
      { 
       <h3><a href="#">@Html.LabelFor(m => item.Name, item.Prompt)</a></h3> 
       <div> 
        <div class="editor-label"> 
         Search @*Html.TextBox("Search")*@ 
         <input id="@("Search" + item.Name)" type="text" name="q" data-autocomplete="@Url.Action("QuickSearch/" + item.Name, "Report")" /> 
        </div> 

        <div class="editor-field"> 
         <select multiple id="@("Select" +item.Name)" name="@("Select" +item.Name)"></select>       
        </div> 

        <div class="removed" style="clear:both; float:left; margin-left:440px;"> 
        <a href="#" class="remove">Remove selection</a> 
        <a id= "[email protected](i)" class="OpenDialogClass" href="#" >Open Dialog</a>   
        </div>  

       </div> 
       i++; 
      }   
     </div> 
     <p style="text-align: right"> 
      <input type="submit" value="Generate Report" /> 
     </p> 
    </div> 
} 
<div id="dialog" title="Basic dialog"> 
</div> 

スクリーンショット

したがって、tに貼り付けられるデータ彼はポップアップのテキストボックス、私は選択コントロールで送信ボタンをクリックした後にしたいと思います。 どのように私はそれを行うことができますか? 事前に感謝、Laziale

+0

テキストボックスに入力されたテキストは、投稿をクリックするとページの選択メニューに変わります。何を試しましたか? – j08691

答えて

0

これはあなたに始まります。

$("Button Selector").click(function(){ 
var SelectOptions= []; 
     $("list Selector").each(function() { 
      SelectOptions.push($(this).attr('id')); 
     }); 
SelectOptions.each(function() { 
      //build your mark up here and return 
     }); 
}); 
+0

あなたは$( "Select")のようなものを考えますか?text =(?)私の場合はうまくいくでしょうか?私は感謝します! – Laziale

1

あなたがテキストエリアの内容をシリアル化し、その後、あなたがそれを行うために必要なもの行うことができます(コントローラにそれを投稿したり、おそらくどこか根本的なページにそれを引き渡す)

$('form').submit(function(e){ 
    e.preventDefault(); 
    e.stopPropagation(); 

    var o = {}; 
    $($('textarea').val().split(/\n|\r/)).each(function(i){ 
     o[i] = this; 
    }); 
    var jsonString = JSON.stringify(o); 

    // DO SOMETHING WITH JSON OBJECT HERE 
});​ 

http://jsfiddle.net/vUH3a/

+0

私は以前jsonを使っていませんでしたが、私はjquery/JSの初心者です.Jsonオブジェクトを使ってリストボックスに項目を入れる方法を教えていただけますか?どうもありがとう – Laziale

関連する問題