2012-06-20 66 views
2

使用下面的代碼我可以插入一個新的行到我的表(#courseelements)。失蹤)? jQuery

$("#addbutton").click(function() { 
     $('#courseelements > tbody:last').append('<tr><td>Helloworld</td></tr>'); 
    }); 

不過,我想用<select>元素替換Helloworld。因此,像這樣:

$("#addbutton").click(function() { 
     $('#courseelements > tbody:last').append('<tr><td> 

     <select class='plan_id'> 
      <option value='1'>Description</option> 
      <option value='2'>Description</option> 
      <option value='3'>Description</option> 
     </select> 


     </td></tr>'); 
    }); 

但是這給了我第一個單引號'<select class='

任何想法,爲什麼「失蹤)後,參數列表」?

+0

宮之前我可以,但你甚至可以在你的問題看到了它,着色是plan_id的數據類型不同,因爲它被解析爲字符串 –

+0

之外(這就是爲什麼它支付使用*合適的*編輯器 - 那種語法高亮,縮進,甚至靜態分析等等......) – 2012-06-20 16:42:20

回答

4

你忘了逃跑報價:

$("#addbutton").click(function() { 
    $('#courseelements > tbody:last').append('<tr><td> 

    <select class=\'plan_id\'> 
     <option value=\'1\'>Description</option> 
     <option value=\'2\'>Description</option> 
     <option value=\'3\'>Description</option> 
    </select> 


    </td></tr>'); 
}); 

作爲替代你可以用全附加字符串在雙引號單引號的insetead:

$("#addbutton").click(function() { 
    $('#courseelements > tbody:last').append("<tr><td> 

    <select class='plan_id'> 
     <option value='1'>Description</option> 
     <option value='2'>Description</option> 
     <option value='3'>Description</option> 
    </select> 


    </td></tr>"); 
}); 
+0

如果你走的是逃生路線,你需要在'option value ='1'等等。 –

+0

是的,我錯過了,謝謝雅各:) – Zbigniew

1
var select=$("<select class='plan_id'></select>") 
    .append("<option value='1'>Description</option>") 
    .append("<option value='2'>Description</option>") 
    .append("<option value='3'>Description</option>"); 

$('#courseelements > tbody') 
.append($("<tr><tr>")) 
.append($("<td></td>") 
.append(select)); 

DEMO.

1

您需要在HTML中使用不同的報價類型作爲報價r圍繞HTML的引號:

$("#addbutton").click(function() { 
     $('#courseelements > tbody:last').append("<tr><td> 

     <select class='plan_id'> 
      <option value='1'>Description</option> 
      <option value='2'>Description</option> 
      <option value='3'>Description</option> 
     </select> 


     </td></tr>"); 
    }); 
+0

這給了我「未終止的字符串字面量」 – David

+0

現在,當我在一行上擁有所有東西 – David

1

您必須使用不同的引號。

select class="plan_id"> 

因爲整個字符串是用單個分隔的,所以在這裏是double。

1

變化的單引號用雙引號內與字符串

<select class="plan_id"> 
      <option value="1">Description</option> 
      <option value="2">Description</option> 
      <option value="3">Description</option> 
     </select> 

\逃脫他們喜歡 -

<select class=\'plan_id\'>...... 
0

如果你想調用$(「」)。通過追加PHP的回聲,像這樣:

$info= "<div style=\'font-size:9px;\'> 
    <img src=\'./img/filtro.png\'>Some tips 
</div>"; 
echo "<script type='text/javascript'> 
    $('#divTips').append('$info'); 
</script>"; 

請確保替換之前所有的斷線,如th是:

$info= preg_replace('/\s+/', ' ', $info);