繁体   English   中英

使用来自 JavaScript 的参数调用 function

[英]Call function with param from JavaScript

我希望你能帮助我。

我正在尝试从 javascript 调用 php function。

当我将一个值与字符串连接时不起作用,但如果我正确调用 function 时,如果我放置一个没有连接的固定值。

我留下我使用的代码。

Function 来自我的 controller:

function size_make_dropdownlist($size_make_id)
{
    $output = "<select id='size_make' name='size_make' style='width:100px;'>";

    //$output .= $this->new_option('Seleccionar', '0', $size_make_id);

   // $query = $this->car_model->get_car_makes();

    $options = array('product_id' => id_clean($size_make_id));
    $Q = $this->db->getwhere('omc_product_sizes',$options);
    if ($Q->num_rows() > 0){
    $query = $Q->row_array();   


    foreach ($query as $row)
    {
        $output .= "<option value=".$row['product_id'].">Talla ".$row['size']."</option>";
    }
    }
    $output .= "</select'>";

    return ($output);
}

FUNCTION JAVASCRIPT

function sizes(product){
var phpcodeis="<?php $size_make_dropdownlist=$this->MProducts->size_make_dropdownlist("+product+"); echo $size_make_dropdownlist; ?>";

//$size_make_dropdownlist=$this->MProducts->size_make_dropdownlist("+product+"); echo $size_make_dropdownlist; ?>"; //When use this line work perfectly but i need the another one

document.getElementById("php_code_size").innerHTML=phpcodeis;
alert(product);
}

代码 HTML

<a href="#"
   style="display:block; color:#333; font-family:Tahoma; font-size:12px;"
   onclick="sizes(1); return false;"> Sizes 1 </a>
<a href="#"
   style="display:block; color:#333; font-family:Tahoma; font-size:12px;"
   onclick="sizes(2); return false;"> Sizes 2 </a>
<span id="php_code_size"> </span>

或其他方式来做到这一点?

我会多理解一点,希望这可以帮助我更轻松一些。

提前致谢

您应该注意 PHP 在 JavaScript 之前执行。 In most scenarios, you cannot generate PHP with JavaScript and expect it to run (unless you're using JavaScript at the backend and have some magical bridge to PHP from it).

您可能想要的是从 JavaScript 发出 XHR (AJAX) 请求,并让 PHP 服务返回纯数据。 然后 JavaScript 将从该数据中呈现选项元素,理想情况下使用 HTML 模板引擎。

您可以将 php 标记嵌入到内联 javascript 中,但您不能在 javascript 文件中执行此操作。 您必须使用 ajax 调用从服务器接收值。 或在 function 定义之前将值嵌入 html 文件中(不是很好的方法!)

php 文件中的某处(例如在 html 的头部)

编辑:

<head>
<script type="text/javascript">
   var myGlobalFromPHP = <?php echo myFunctionValue ?>;  // enclose it in quotes if it's a string.
</script>
</head>

然后在您的 javascript 文件中,您可以使用这个myGlobalFromPHP

function(){
   alert(myGlobalFromPHP);
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM