2011-08-18 4 views
0

저는 ASP.NET MVC 2 (C#)를 사용하여 프로젝트에서 작업합니다. jQueryUI JavaScript 라이브러리를 사용하여 데이터베이스의 다른 테마를 나열하는 팝업 창을 표시합니다. 내보기에서 나는 다음과 같은 코드를 사용asp.net mvc2에서 jquery UI가있는 팝업

<script language="javascript" type="text/javascript"> 
$(function() { 
    $('#dialog').dialog({ 
     autoOpen: false, 
     width: 600, 
     buttons: { 
      "Ok": function() { 


           $("#dialog").dialog("close"); 



      }, 
      "Cancel": function() { $(this).dialog("close"); } 
     } 
    }); 
    $("#show-dialog").button().click(function() { 
     $('#dialog').dialog('open'); 
     return false; 
    }); 
}); 
</script> 


<div id="dialog" title="choisir le thème " > 

<% using (Html.BeginForm()) 
{ %> 
    <p> <span style="color: #0000FF"><strong><em>Titre du document : 
    <%=Html.TextBox("Title") %></em></strong></span> </p> 
    <table> 
     <thead> 
      <tr> 
       <th style="width: 184px">Liste des thèmes </th><th>&nbsp;</th> 
      </tr> 
     </thead> 
     <tbody> 
      <tr> 
       <td valign="top" style="width: 184px; height: 131px"> 
        <%= Html.ListBoxFor(model => model.SelectedThème, Model.ThèmeList, new { size = "6" })%> 
       </td> 
      </tr> 
     </tbody>   
    </table>  
    <% } %> 
</div> 

<span id="show-dialog">thème</span> 
<%=Html.TextBox("thème")%> 

팝업 창이 열리고 테마 목록이 표시됩니다,하지만 테마를 선택하면 팝업이 종료해야하며, 선택한 테마 텍스트 상자 컨트롤에 표시한다 . 제발 도와


그래서 내 코드 것이다 :

<script language="javascript" type="text/javascript"> 
$(function() { 
    $('#dialog').dialog({ 
     autoOpen: false, 
     width: 600, 
     buttons: { 
      "Ok": function() { $("#thème").val($("#SelectedTheme").val()); 
            $(this).dialog("close"); }, 
      "Cancel": function() { $(this).dialog("close"); } 
     } 
    }); 
    $("#show-dialog").button().click(function() { 
     $('#dialog').dialog('open'); 
     return false; 
    }); 
}); 


$('#SelectedTheme').change(function() { 
    //do whatever you want to do here. 
    $("#thème").val($("#SelectedTheme").val()); 
    $('#dialog').dialog('close'); 

}); 

</script> 




<div id="dialog" title="choisir le thème " > 

<% using (Html.BeginForm()) 
{ %> 

    <select id="SelectedTheme" multiple="multiple" name="SelectedTheme"> 
    <option>item1-in-ThemeList</option> 
    <option>item2-in-ThemeList</option> 
    </select> 


<% } %> 
</div> 

<fieldset> 

<span id="show-dialog">thème</span> <%=Html.TextBox("thème")%> 
</fieldset> 

하지만 난 팝업 가까이 변경되지 내 텍스트 상자의 값이 아닌 항목을 선택하면. 나를 도와주세요 !!! 라인에 따라

답변

0

<%= Html.ListBoxFor(model => model.SelectedTheme, Model.ThemeList, new { size = "6" })%> 

같은 HTML을 생성합니다 :

<select id="SelectedTheme" multiple="multiple" name="SelectedTheme"> 
<option>item1-in-ThemeList</option> 
<option>item2-in-ThemeList</option> 
.... 
</select> 

그래서 당신은 JQuery와 패턴 다음에 무엇을 해야할지 것입니다 :

$('#SelectedTheme').live('change', function() 
{ 
    //do whatever you want to do here. 
    $("#theme").val($("#SelectedTheme").val()); 
    $('#dialog').dialog('close'); 

}); 
+0

같은 문제를 내가 선택 팝업이 닫히지 않는 항목 – fatma

+0

@fatima 내 대답을 업데이트했습니다. 대신 라이브로 사용해보십시오. –

+0

looootttt에 감사드립니다. 팝업을 닫을 때 항목을 선택했지만 항목이 텍스트 상자에 저장되지 않았습니다. 내 텍스트 상자의 코드는 <% = Html.TextBox ("sometextbox") %>입니다. 실수가 여기 있다고 생각합니다. 제발 도와주세요. – fatma

관련 문제