2016-02-29 27 views
1

我發現這個整潔的代碼在線,完全符合我的需要。我遇到的問題是變量沒有傳遞整個值。JavaScript不通過整個變量字符串

<script type='text/javascript'> 
    $(window).load(function() { 
     $("#add_id").click(function() { 
      var value = $("#entered_id").val(); 
      $("#list_id").append("<option value =" + value + " selected>" + value + "</option>"); 
     }); 
    });  
</script> 




<select id='entered_id'> 
    <option value='This is a test message'>test</option>"; 
</select> 


<button id="add_id">Add</button> 


<h2>Entered IDs</h2> 
<form name="test" method="POST" action="test2.php"> 
    <select id="list_id" name="list_id" multiple="multiple"> </select> 
    <input type="submit" /> 
</form> 

test2.php可變$list_id進來作爲「這」,而不是「這是一個測試」。

任何人都可以引導我走向正確的方向嗎?

回答

4

你應該把字符串值以防萬一行情'

$("#list_id").append("<option value =" + value + " selected>" + value + "</option>"); 

應該是:

$("#list_id").append("<option value ='" + value + "' selected>" + value + "</option>"); 
_____________________________________^_____________^ 

換句話說,生成選項HTML看起來像<option value=This is a test>,使得isatest無效/未知屬性。

希望這會有所幫助。

+1

換句話說,生成的選項html看起來像'

+0

感謝@MarcB您的介入,我可以使用您的解釋更新我的答案嗎? –

+1

當然......你得到了正確的答案,這只是爲什麼它是正確的答案。 –

相關問題