1
<?php   
 echo "*Select Category<select name='category' id='category' onChange='ajax('fill.php', '', 'populate', 'post', '1')'><option value=''>--Please Select--</option><option value='1' >1</option><option value='2'>2</option></select>";
?>

对于 ajax 函数内部的争论,应该用什么来代替代码(')。

4

3 回答 3

2

使用反斜杠引号

onChange='ajax(\"fill.php\", \"\", \"populate\", \"post\", \"1\")'

HTML 属性应该在引号、交换'"代码中

echo '*Select Category<select name="category" id="category" onChange="ajax(\'fill.php\', \'\', \'populate\', \'post\', \'1\')"><option value="">--Please Select--</option><option value="1" >1</option><option value="2">2</option></select>';

为了提高可读性,请使用 HEREDOC 语法

echo <<<STR
  *Select Category
  <select name="category" id="category" onChange="ajax('fill.php', '', 'populate', 'post', '1')">
    <option value="">--Please Select--</option>
    <option value="1">1</option>
    <option value="2">2</option>
  </select>
STR;
于 2013-06-25T09:27:51.930 回答
1

只需在需要的地方交替使用双引号和单引号和转义逗号,如下所示:

echo "*Select Category <select name='category' id='category' onChange=\"ajax('fill.php', '', 'populate', 'post', '1')\"><option value=''>--Please Select--</option><option value='1' >1</option><option value='2'>2</option></select>";

具体来说,改变:

onChange='...'

onChange=\"...\"
于 2013-06-25T09:28:09.760 回答
1

这将起作用:

onChange=\"ajax('fill.php', '', 'populate', 'post', '1')\"

但通过 jquery 分配更改事件会更好更干净

$('#category').change(function(){
    ajax('fill.php', '', 'populate', 'post', '1');
});

如果你不想使用 jquery,你应该把你的 javascript 放在一个单独的函数中,以便在你的 onchange 中调用:

onChange='callAjax()'

[...]

function callAjax() {
    ajax('fill.php', '', 'populate', 'post', '1');
}

请在上下文中阅读此线程我应该何时使用内联与外部 Javascript?

于 2013-06-25T09:25:34.503 回答