2017-06-20 54 views
0

HTML代碼使用Ajax來確定PHP

<div class="card text-center pricing-card mb-20"> 
<ul class="list-group list-group-flush"> 
    <?php 
    $gbewas = mysqli_query($con,"SELECT * FROM price"); 
     while($okks = mysqli_fetch_array($gbewas)) 
    { ?> 
<li class="list-group-item d-block text-left"> 
<input type="radio" name="dep" id="btn-login" value="10"> 
<span style="font-size:16px; margin-left:10px"><?=$okks['plan']?></span> 
</li> 
<?php } ?> 
</ul> 
</div> 
      <!--- SHOW RESULT---> 
<input type="text" class="error" id="logerror"> 

jQuery的不同的結果:

$(document).ready(function() { 
    $("#btn-login").click(function() { 
    var price = $("input#btn-login").val(); 
    $('#logerror').input(price); 
    }); 
}); 

我需要解決這個代碼。 第一個問題,我有價格dbTable中的4行,它正確地獲取4行,但如果我點擊每個/不同的單選按鈕,它總是顯示第一個輸入值作爲結果。

第二個問題,結果不會在輸入格式顯示

<input type="text" class="error" id="logerror"> 

但在格的格式顯示

<div class="error" id="logerror"></div> 
+2

ID =「BTN-登錄」應該是唯一的,或者使用類名來選擇它 –

+1

如果你想在文本輸入價格'$(「#LOGERROR」)VAL(價格);' – mhatch

+0

使用這個'$('#logerror').val(price);'解決了第二個問題。感謝和第一個問題是什麼 – owebindex

回答

1

兩個問題 - 你id s爲全部相同,所以jQuery將挑每次第一次#btn-login。但是,無論如何,您對每個輸入都使用相同的值(10),所以有什麼區別?

假設您的數據庫有一個[price]列,我們使用它作爲值;讓我們得到的價格只是被點擊的元素。

while($okks = mysqli_fetch_array($gbewas)) 
{  
    ?> 
    <li class="list-group-item d-block text-left"> 
    <input type="radio" name="dep" class="btn-login" value="<?= $okks['price'] ?>"> 
    <span style="font-size:16px; margin-left:10px"><?=$okks['plan']?></span> 
    </li> 
    <?php 
} 

請注意,我們使用class代替id,因爲id必須是唯一的。我們也會在JavaScript中這樣做:

$(document).ready(function() { 
    $(".btn-login").click(function() { 
    var price = $(this).val(); // the clicked element 
    $('#logerror').val(price); // val(), not input() 
    }); 
}); 
0

試試這個。在生成單選按鈕列表的同時,您將爲所有輸入收音機分配相同的ID。雖然你可能想爲所有人提供一個普通的類,但如果你需要能夠定位每個元素,你必須給所有的元素賦予不同的id。我假定你的價格表中也有一些「id」列(或者你可以使用一些唯一標識一行的其他標識符)作爲id的一部分。

<div class="card text-center pricing-card mb-20"> 
<ul class="list-group list-group-flush"> 
    <?php 
    $gbewas = mysqli_query($con,"SELECT * FROM price"); 
     while($okks = mysqli_fetch_array($gbewas)) 
    { ?> 
<li class="list-group-item d-block text-left"> 
<input type="radio" name="dep" class="btn_login" id="btnLogin_<?=$okks['id'] ?>" value="10"> 
<span style="font-size:16px; margin-left:10px"><?=$okks['plan']?></span> 
</li> 
<?php } ?> 
</ul> 
</div> 
      <!--- SHOW RESULT---> 
<input type="text" class="error" id="logerror"> 


<link href='http://fonts.googleapis.com/css?family=Source+Sans+Pro|Open+Sans+Condensed:300|Raleway' rel='stylesheet' type='text/css'> 
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
    <script type="text/javascript"> 

     // Ajax post 
     $(document).ready(function() { 
      $(".btn_login").click(function() { 
       var price = $(this).val(); 
       $('#logerror').val(price); 
       }); 
      }); 
    </script>