2016-02-29 32 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

当然......你得到了正确的答案,这只是为什么它是正确的答案。 –

相关问题