0

phpを使用して、postを使用したフォームを介して前のページで送信されたデータを使用して文字列を作成しています。

これはphpです:

if ($carrier== "DL") {   


                $front = '<tr><td><div onclick="selectText(this)">EZE*#$*IET';
                $center =  '/O$'.$FOP.'/RB'.$differencePos.'X0.00P'.$fee.'AT0.00/OIECP'.$orIssue.'111062789#MCRV*/MA'.$MCOamt; 
                $end = '</div></td></tr>';


                               echo $front,$guest1Ticket,'X*A',$guest1Con,$center,'#N1.1',$end;

             if($guest2Ticket) echo $front,$guest2Ticket,'X*A',$guest2Con,$center,'#N2.1',$end;  

             if($guest3Ticket) echo $front,$guest3Ticket,'X*A',$guest3Con,$center,'#N3.1',$end;  

             if($guest4Ticket) echo $front,$guest4Ticket,'X*A',$guest4Con,$center,'#N4.1',$end;  

             if($guest5Ticket) echo $front,$guest5Ticket,'X*A',$guest5Con,$center,'#N5.1',$end;  

             if($guest6Ticket) echo $front,$guest6Ticket,'X*A',$guest6Con,$center,'#N6.1',$end;  

             if($guest7Ticket) echo $front,$guest7Ticket,'X*A',$guest7Con,$center,'#N7.1',$end;  

             if($guest8Ticket) echo $front,$guest8Ticket,'X*A',$guest8Con,$center,'#N8.1',$end;  

             if($guest9Ticket) echo $front,$guest9Ticket,'X*A',$guest9Con,$center,'#N9.1',$end; 
        } //if ($airline == "DL")

これにより、次のような文字列が作成されます。 EZE*#$*IET8388623729002X*A/O$CA/RB71.02X0.00P50.00AT0.00/OIECP01AUG111062789#MCRV*/MA21.02#N1.1

EZE*#$*IET8388623729003X*A/O$CA/RB71.02X0.00P50.00AT0.00/OIECP01AUG111062789#MCRV*/MA21.02#N2.1

EZE*#$*IET8388623729004X*A/O$CA/RB71.02X0.00P50.00AT0.00/OIECP01AUG111062789#MCRV*/MA21.02#N3.1

....

各ラインの唯一の違いは、IET8388623729004パーツとストリング自体の端にあるN1.1パーツです。

$frontとサブ文字列を使用して、$endレイアウトの目的で実際の文字列をdiv要素とtable要素にラップします。

エコーされる各divに一意のIDを与えて、私onclick="selectText(this)"が機能するようにするための最良の方法は何でしょうか?

私は$frontいくつかの部分文字列に分割して、次のようなことを行うことができることを知っています

if($guest2Ticket) echo $front1,'id="div2"',$front2,$guest2Ticket,'X*A',$guest2Con,$center,'#N2.1',$end;

しかし、もっと良い方法はありますか?

4

2 に答える 2

1

私はこれをjqueryで行い、IDをまったく出力しません。

(最初にjquery.jsを含めることを忘れないでください)。

<script>
  $(function()
  {
    $('div').click(function()
    {
      selectText(this);
    });
  });
</script>
于 2013-03-16T13:54:57.470 に答える
1

これは私がそれをする方法です。変数文字列から関数に変更$frontすることで、静的カウンターを使用して、関数を呼び出すたびに増やすことができます。

function front() {
    static $i=1;
    return '<tr><td><div id="div'.$i.'" onclick="selectText(this)">EZE*#$*IET';
    $i++;
}

このようになります

if ($carrier== "DL") {   


            function front() {
                  static $i=1;
                  return '<tr><td><div id="div'.$i.'" onclick="selectText(this)">EZE*#$*IET';
                  $i++;
             }
            $center =  '/O$'.$FOP.'/RB'.$differencePos.'X0.00P'.$fee.'AT0.00/OIECP'.$orIssue.'111062789#MCRV*/MA'.$MCOamt; 
            $end = '</div></td></tr>';


                           echo front(),$guest1Ticket,'X*A',$guest1Con,$center,'#N1.1',$end;

         if($guest2Ticket) echo front(),$guest2Ticket,'X*A',$guest2Con,$center,'#N2.1',$end;  

         if($guest3Ticket) echo front(),$guest3Ticket,'X*A',$guest3Con,$center,'#N3.1',$end;  

         if($guest4Ticket) echo front(),$guest4Ticket,'X*A',$guest4Con,$center,'#N4.1',$end;  

         if($guest5Ticket) echo front(),$guest5Ticket,'X*A',$guest5Con,$center,'#N5.1',$end;  

         if($guest6Ticket) echo front(),$guest6Ticket,'X*A',$guest6Con,$center,'#N6.1',$end;  

         if($guest7Ticket) echo front(),$guest7Ticket,'X*A',$guest7Con,$center,'#N7.1',$end;  

         if($guest8Ticket) echo front(),$guest8Ticket,'X*A',$guest8Con,$center,'#N8.1',$end;  

         if($guest9Ticket) echo front(),$guest9Ticket,'X*A',$guest9Con,$center,'#N9.1',$end; 
} //if ($airline == "DL")
于 2013-03-16T13:37:33.607 に答える