0

jqueryを使用してこれを行います:

$(function() {
$('#iButton').change(function() {
    $.ajax({
       url: 'index.php?option=com_cameras&task=globalmotiondetection&id_hash=<?php echo $id_hash; ?>&global_monitoring='+ (this.checked ? 1 : 0) + '&format=raw'

    });
});
});

これはうまくいきます。しかし今、私はこれをphp関数(Joomlaコーディング)に入れていますが、引用符を理解できません:

$doc->addScriptDeclaration('
$(function() {
$("#iButton").change(function() {
    $.ajax({
       url: "index.php?option=com_cameras&task=globalmotiondetection&id_hash='$id_hash'&global_monitoring="+ (this.checked ? 1 : 0) + "&format=raw"
    });
});

});
');

これにより、次のようになります。解析エラー:構文エラー、URL行に予期しないT_VARIABLEがあります。引用符がどのように表示されるかわからない。私$id_hashもそこに入れることはできないと思います(エラーのために推測しています)。何か案は?

4

2 に答える 2

0

変数を一重引用符で囲まれた文字列に連結するには、連結演算子を使用できます.

$doc->addScriptDeclaration('
$(function() {
$("#iButton").change(function() {
    $.ajax({
       url: "index.php?option=com_cameras&task=globalmotiondetection&id_hash=' . $id_hash . '&global_monitoring="+ (this.checked ? 1 : 0) + "&format=raw"
    });
});

});
');

または、代わりに二重引用符で囲まれた文字列を使用することもできます。これにより、変数を次の内部で補間できます。

$doc->addScriptDeclaration("
$(function() {
$('#iButton').change(function() {
    $.ajax({
       url: 'index.php?option=com_cameras&task=globalmotiondetection&id_hash=$id_hash&global_monitoring='+ (this.checked ? 1 : 0) + '&format=raw'
    });
});

});
");
于 2012-12-07T03:55:57.307 に答える
0

より簡単にするには、ヒアドキュメントを使用します。http://php.net/manual/en/language.types.string.php#language.types.string.syntax.heredocを参照してください

$str = <<<EOT
$(function() {
    $("#iButton").change(function() {
        $.ajax({
           url: "index.php?option=com_cameras&task=globalmotiondetection&id_hash='$id_hash'&global_monitoring="+ (this.checked ? 1 : 0) + "&format=raw"
        });
    });
});

EOT;
于 2012-12-07T04:00:55.537 に答える