2014-02-26 25 views
-2

我有一個從$ _POST接收傳入值的頁面。一個這樣的值來自允許用戶選擇值0-10的下拉選擇器。如果選擇大於0的值,我想觸發JQuery函數。因此,如果$ _POST ['DropDownSelection']> 0,那麼我的JQuery函數應該運行。基於變量的值觸發JQuery函數

如何觸發該功能?

+2

我們可以看到那個函數嗎? – Misters

+0

if($ _POST ['DropDownSelection']> 0){「jQuery(function(){console.log('yo'))};」 } –

+0

@Misters:我不認爲被觸發的函數是相關的。我知道這個功能起作用,因爲我現在把它綁定到一個onclick事件上。但是,我想在用戶登錄頁面時爲特定的$ _POST值調用該函數。 –

回答

1

東西是把在像一個隱藏的輸入即:

<input id="myValue" type="hidden" value="<?= $_POST['DropDownSelection']; ?>" /> 

的在你的JavaScript:

if(document.getElementById('myValue').value > 0) //Do something 
0

取決於您的PHP代碼如何連接到HTML輸出。在PHP和HTML都在同一個文件的簡單的情況下,你可以不喜歡

<? if ($_POST['DropDownSelection'] > 0) { ?> 
<script>$.myFunction(...);</script> 
<? } ?> 
0

你可以做到這樣。

var x = <?php echo $_POST['DropDownSelection'] ?>; 
if(x>0){ 
    jqueryFunction(); // your function call. 
}else{ 
    // whatever else you want. 
} 
+1

確保你防止'$ _POST ['DropDownSelection']'非數字。 –

0

這也許是過於簡單化和一個小哈克,但我不明白爲什麼這是行不通的......

<script type="text/javascript"> 
function overZero() { 
    // do stuff... 
} 

<?php 
if ($_POST['DropDownSelection']>0) echo('overZero();'); 
?> 
</script> 
2

如果函數需要在原來的頁面被稱爲然後你可以這樣做 -

$('select[name="DropDownSelection"]').change(function() { 
    var newValue = $(this).val(); 
    if(newValue > 0) { 
     // your function here 
    } 
}); 

你不需要PHP,你只需要看看它的值發生變化,那麼,如果該值大於0

如果函數是在被貼到,那麼你可以做到這一點的頁面 - 我想傳遞一個PHP變種爲Javascript做

<script> 
    var DropDownSelection = <?php echo $_POST['DropDownSelection']; ?>; 
    if(DropDownSelection > 0) { 
     // call your function here 
    } 
</script> 
+0

OP聲明變量是通過POST從_previous_頁面上的下拉菜單中獲得的,所以這不起作用。他們需要以某種方式讀取和解釋來自POST頭部的值,而PHP是最簡單的方法(也是OP使用PHP的'$ _POST []'符號暗示的方法)。 –

+0

他表示,價值來自下拉,然後張貼。您可以完成對另一組函數的調用,而無需使用POST來驗證通過PHP更改的值。 –

+0

我想這是解釋。當我讀到「從$ _POST接收傳入值的頁面」時,我認爲做出OP在談論單個頁面的假設是不對的。 –

0
$(document).ready(function(){ 
     $("#dropdown-id").change(function(){ 
     //check if the value is > 0 and then 
     // trigger your jquery function() 
     }) 
    }) 
+0

我不想根據用戶的操作觸發事件。我想根據存儲在變量中的$ _POST的值觸發事件。 –

+0

什麼觸發$ _POST來填充下拉菜單? –

0

不過,我想也調用該函數時,頁面上的用戶的土地與 一個字段的特定$ _ POST值

有2種簡單的這樣做的方法:

使全球功能可按:

例如:

function print(){ 
alert('hello') 
} 



<?php 
if($_POST['DropDownSelection'] != 0) 
{ 
echo "<script>print()</script>"; 
} 
?> 

或者使用triger function從jQuery的:

<?php 
    if($_POST['DropDownSelection'] != 0) 
    { 
    echo "<script>$('#dropdown').trigger('change');</script>";// execute the onchange event(function) attached to the dropdown 
    } 
?>