2014-10-04 27 views
0

如何顯示這樣的結果值?如何使用ajax post請求顯示像這樣的結果值?

當改變選擇標記如:<option value="3">THREE</option>

我想在<span id="myplace2"></span>

如果變化SELETE到例如顯示結果:<option value="4">THREE</option>

我想顯示結果<span id="myplace4"></span>

我怎樣才能做到這一點 ?

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script> 

<form id="form-id" method="post" action="" ENCTYPE = "multipart/form-data" onsubmit="return checkform(this);"> 
    <select id="number" name="number" OnChange="fn_test1()" > 
     <option selected="" value="">SELECT</option> 
     <option value="1">ONE</option> 
     <option value="2">TWO</option> 
     <option value="3">THREE</option> 
     <option value="4">FOUR</option> 
    </select> 
<?PHP 
    for ($i=1;$i<=4;$i++) 
     { 
?> 
    <span id="myplace<?PHP echo $i; ?>"></span><br> 
<?PHP 
     } 
?> 
</form> 

<script> 
function fn_test1() { 
    $('#myplace'+ $(data).find("#number").val()).hide(); 
    setTimeout(function(){ 
     $.ajax 
     (
      { 
       url: 'test_mm16.php', 
       type: 'POST', 
       data: $('#form-id').serialize(), 
       cache: false, 
       success: function (data) { 
        $('#myplace'+ $(data).find("#number").val()).show(); 
        $('#myplace'+ $(data).find("#number").val()).html(data); 
       } 
      } 
     ) 
    }, 2000); 
} 
</script> 
+1

您的兩個示例不匹配。 – artm 2014-10-04 16:08:31

回答

1

您必須使用jquery才能檢索所選項目的值。您的代碼可能是:

<script type="text/javascript"> 
function fn_test1() { 
    var selected = $("#number option:selected").val(); //Get the value of selected item (like '1', '2'); 
    setTimeout(function() { 
     $.ajax(
      { 
      //Put here url, type, ... 
      success: function(data) { 
       $("#myplace" + selected).show(); 
       $("#myplace" + selected).html(data); //Put the output inside the right element 
      } 
     }) 
    }, 2000); 
} 
</script> 
0

當用戶從下拉框中更改選擇時,您是否要更改頁面部分的可見性?爲什麼你需要這個Ajax?

function fn_test1() { 
    $('.mp').hide(); 
    $('#myplace'+ $(data).find("#number").val()).show(); 
} 

然後加入class="mp"myplace<span>元素。

除非你正在計劃添加動態內容到跨度。在這種情況下:

  • 你似乎是使用相同的PHP腳本進行的主網頁和Ajax調用,這是非常規 - Ajax響應應該是一個數據交換格式,如XML或JSON,而不是HTML 。
  • data變量只在成功處理程序中聲明,因此它的第一個用法不能按照您的預期工作。
  • 如果用戶想刷新範圍的內容而不刷新整個頁面或更改選擇,該怎麼辦?