2016-03-24 25 views
0

文字列を置き換えるコードがあります。ここで私のHTMLは私のPHPコードで作成されます。javascript string continue continue

... 
foreach ($notes as $note) { 
       echo '<li><input name="noteTypeID" type="radio" class="noteTypeID" value="'.$note['NOTETYPEID'].'"></li>'; 
      } 
... 
foreach (...) { 
... 
    echo '<li class="getshrtcode">[srms_more_info id="'.$cnt.'" instanceID="'.$val_id.'" type="'.$val_type.'" noteCodeID="" planID=""]</li>';        
... 
       } 

私のスクリプトは、このようなものです:

jQuery(document).ready(function(){ 
    var noteTypeID = null; 
    var planID = null; 
    jQuery('.noteTypeID').click(function() { 
     noteTypeID = jQuery(this).val(); 
     planID = prompt("Enter a Template planID value from axcelerate"); 

     jQuery('.getshrtcode').each(function(){ 
      jQuery(this).text(jQuery(this).text().replace('noteCodeID=""', 'noteCodeID="'+ noteTypeID +'"')); 
      jQuery(this).text(jQuery(this).text().replace('planID=""', 'planID="'+ planID +'"')); 
     }); 

    }); 

}); 

第一の変化は結構ですが、次のではありません。 planIDnoteCodeIDの文字列に値があるため、.getshrtcodeというテキストを割り当てることができないことがわかります。もう一度noteCodeID="" planID=""にすることはできますか?

+0

「ここに私のPHPコードで作成された私のHTMLがある」:カスタムあなたはjqueryのを使用して設定したいというあなたのHTMLの属性がある場合は

、あなたは単にattr機能を使用することができます=>あなたのPHPです – madalinivascu

答えて

0

DOM以外のエンティティをjqueryで設定できません。これは不可能です。 HTMLを生成するテンプレートエンジンを使用すると、テンプレートコードが実行され、JavaScriptがロードされる前に結果が返されるため、テンプレートエンジン自体がこれを行うメカニズムを提供しない限り、テンプレートプロパティを設定することはできません。

実際に特定のテンプレートプランIDを指定して特定のものを提示したい場合は、noteCodeID & planIDを渡してサーバーにリクエストを送信し、目的のHTMLで応答するAJAXコールを使用してページを読み込む必要がありますこれは、カスタムテンプレートエンジンの実行の結果として発生します。

$('#foobar').attr('foo','bar'); 
関連する問題