Javascript 不传递整个变量字符串

Javascript not passing entire variable string

本文关键字:变量 字符串 Javascript      更新时间:2023-09-26

我在网上找到了这个整洁的代码,它完全符合我的需求。我遇到的问题是变量没有传递整个值。

<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显示为"This"而不是"This is a test"。

谁能引导我走向正确的方向?

您应该将字符串值放在引号'

$("#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属性无效/未知。

希望这有帮助。