我可以在Javascript中点击“this”后插入字符串吗?

问题描述:

newbie asking here.

i have an ordered list of multi dimensional array

$blok = array
   (
       array("B","X","X",3,4,5,"X",7,8,9,10),
       array("G",1,2,3,4,5,6,7,8,9,10),
       array("L",1,2,3,4,5,6,7,8,9,10),
       array("Q",1,2,3,4,5,6,7,8,9,10)
   );

and then i echo each and every array value into separate div :

*already figured it out how to echo them and insert them into div id.



my question is : can i insert string after "this" inside onclick ?

<div class="span4"><div class="table1" style="float:left; background-color:magenta;" id= "'. //ARRAY VALUE// .'" onclick="select(this,"B");" >

<div class="span4"><div class="table1" style="float:left; background-color:blue;" id= "'. //ARRAY VALUE// .'" onclick="select(this,"Q");" >

my goal is to input the div id (the array value) and the string into my database using input type=hidden after onclick

<input type="hidden" id="type" name="type" value="" />
<input type="hidden" id="table"  name="table" value="" />

any help is appreciated, i'm drawing a blank here.



btw this is my javascript :

var i=0;    document.getElementById("table").value="";    function select(id , tipe){
if($(id).attr('class')=="table2"){
    $(id).attr('class','table1');
    var m=document.getElementById("table").value.split(",");
    var removeItem = $(id).attr('id');;
    var n = jQuery.grep(m, function(value) {
      return value != removeItem;
    });
    document.getElementById("table").value=n;

    if(n.length==0){i=0;}
}else{
    $(id).attr('class','table2');
    if(i==0){
        document.getElementById("table").value+=$(id).attr('id');
        i=1;
    }else{
        var j=document.getElementById("table").value.split(",");    
        if(jQuery.inArray($(id).attr('id'), j)==-1)         {
            document.getElementById("table").value+=","+$(id).attr('id');
        }
    }   
}
var type=document.getElementById('type');
type.value=tipe   }

edit : i forgot to mention i'm using concatenation assignment like this :

$number  =' <div class="table1" style="float:left; background-color:magenta;" id= "'. $blok[$row][$col] .'" onclick="select(this,"B");" > ';    
$number  .= $blok[$row][$col]; //echo the array value to display the table number
$number  .=' </div> ';

so to display those div with ARRAY VALUE as div id and text to display i only wrote :

echo $number;

Wrap the second argument into a single quotes:

.. onclick="select(this,'B');" ...

for your php code:

.'" onclick="select(this,'."'B'".');" > ';