Jquery选择出错了吗?

Jquery选择出错了吗?,jquery,html,Jquery,Html,我有以下选择: var squad_name= $("#squad option:selected").text(); 后面的HTML如下所示: <div id="squad"> <label>Squad Type:</label> <select id="choosesquad"> <option value ="0">Choose squad</option> </sele

我有以下选择:

var squad_name= $("#squad option:selected").text();
后面的HTML如下所示:

<div id="squad">
    <label>Squad Type:</label>
    <select id="choosesquad">
        <option value ="0">Choose squad</option>
    </select>
    <input id="setsquad" type="button" value="Set"/><br>

    <div id="unitdiv">
    <label>Choose Unit:</label>
    <select id="chooseunit" class="unit">
        <option value ="0">Choose unit</option>
    </select><br>
    <label>Number of units:</label>
    <select id="number" class="unit">
        <option value="0">0</option>      
    </select><br>
</div>
由于某种原因,在这次选择之后,小队_name=Chosed小队选择了0号单位


我就是搞不懂:我做错了什么?

之所以会这样,是因为你选择了团队中的所有标签,团队中有3个标签,其中3个:已选择标签

$squad选项:selected是从choosesquad、chooseunit和number聚合每个选定选项

从它的声音来看,您需要使用:

var squad_name = $("#choosesquad option:selected").text();

您需要使用.val而不是.text来获取选项的值。您还选择了所有选中的选项,在本例中,这些选项将获取3个数组。

发生这种情况的原因是$squad option:selected返回所有元素,因此当您调用该选项时。text将返回每个元素中的所有文本

下面的代码将分别获取这些值

var choosesquad = $("#choosesquad").val();
var chooseunit= $("#chooseunit").val();
var num = $("#number").val();

您正在选择当前选定的所有选项标记,每个选项将有一个标记,文本功能从所有选定节点收集内部文本,从而产生三个文本节点,并选择单元0。

您希望它做什么?在我看来这是正确的,而不是看起来一定是打字错误;当然是选择单位0还是什么?非常感谢。显然我暂时失明了。