2016-07-28 51 views
2

我有一排我有時會克隆。將數據附加到<script>

<script id="SubRow10" type="text/template"> 
    <select id="SubSelect10" class="form-control" name="SubcategorySelect" required> 
    <option value="m,2">Op1</option> 
    <option value="m,3">Op2</option> 
    <option value="m,5">Op3</option> 
    <option value="m,6">Op4</option> 
    </select> 
</script> 

我有一個表格一個選項添加到"#Subselect10" 但是,當我這樣做:

$('#SubSelect10').append('<option value="m,8">Op5</option>'); 

它不工作,但是當我這樣做:

$('#SubRow10').append('<option value="m,8">Op5</option>'); 

它工程,但它不會將其添加到選擇菜單。

有人能帶我走向正確的方向嗎?

這裏是一個JSFiddle

+1

http://stackoverflow.com/questions/740195/adding-options-to-a-select-using-jquery-javascript –

回答

0

想必問題是您的字符串,"<option value="m,8">Op5</option>"包含雙引號,這樣的JavaScript將其視爲兩個不同的獨立參數的功能。嘗試轉義字符串中的雙引號(改爲使用\")或使用單引號來包裝字符串,例如,

$("#SubRow10").append('<option value="m,8">Op5</option>') 
+0

我的壞是錯誤的複製/粘貼代碼改變了它。 – notify

+0

我已將您的代碼複製到JSFiddle中,並且它似乎無任何問題地工作。你可以嘗試發佈一個不能按預期工作的例子嗎? – Aurora0001

+0

增加了一個JSfiddle看主帖 – notify

1

這樣做:

var template = $('#SubRow10'); 
 

 
template.html($(template.html()).append('<option value="m,8">Op5</option>')); 
 

 
console.log(template.html());
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 

 
<script id="SubRow10" type="text/template"> 
 
    <select id="SubSelect10" class="form-control" name="SubcategorySelect" required> 
 
    <option value="m,2">Op1</option> 
 
    <option value="m,3">Op2</option> 
 
    <option value="m,5">Op3</option> 
 
    <option value="m,6">Op4</option> 
 
    </select> 
 
</script>

問題是<script>標籤不使他們作爲HTML內容,但作爲文本,即使typetext/javascript。爲了規避這個問題,你需要在注入另一個<option>之前解析爲HTML的內容。