简体   繁体   English

使用jquery.append()方法

[英]Using jquery.append() method

What's wrong in my code that the append method dont work? 我的代码中append方法不起作用怎么了? I do get the alert but the actual method that will append is not working. 我确实收到警报,但是将追加的实际方法不起作用。 Please see the code below: 请参见下面的代码:

jQuery(document).ready(function()
{
    if (!document.getElementById('my_options').value)
    {
        alert('here');
        jQuery('#my_options').append('<span id="option_id_error" class="errors">Error</span>');
    }

});

HTML: HTML:

<select id="my_options" name="my_options">
       <option value="">--Select--</option>
       <option value="1">Option 1</option>
       <option value="2">Option 2</option>
       <option value="3">Option 3</option>
       <option value="4">Option 4</option>
</select>
<br/>
<select id="my_options2" name="my_options2">
       <option value="">--Select--</option>
       <option value="1">Option 1</option>
       <option value="2">Option 2</option>
       <option value="3">Option 3</option>
       <option value="4">Option 4</option>
</select>
<br/>
<select id="my_options3" name="my_options3">
       <option value="">--Select--</option>
       <option value="1">Option 1</option>
       <option value="2">Option 2</option>
       <option value="3">Option 3</option>
       <option value="4">Option 4</option>
</select>

The select in the form is dynamically generated. 表单中的选择是动态生成的。 If none is selected on the dropdown box, it will display the span error message. 如果在下拉框中未选择任何内容,它将显示跨度错误消息。 So my expected result is this: 所以我的预期结果是这样的:

<select id="my_options" name="my_options">
       <option value="">--Select--</option>
       <option value="1">Option 1</option>
       <option value="2">Option 2</option>
       <option value="3">Option 3</option>
       <option value="4">Option 4</option>
</select> <span>Error</span>

I don't need to add something on the options. 我不需要在选项上添加任何内容。

What you are doing is not correct as a SPAN item is not valid within an SELECT item. 您所做的操作不正确,因为SPAN项在SELECT项中无效。

If you try to add a new option for example it will work 例如,如果您尝试添加新选项,它将起作用

$('#my_options').append('<option value="5">item</option>'); 

what you can do is to wrap the select item inside a DIV as showed below 您可以做的是将选择项包装在DIV中,如下所示

<div id="option1">
    <select id="my_options" name="my_options">
           <option value="">--Select--</option>
           <option value="1">Option 1</option>
           <option value="2">Option 2</option>
           <option value="3">Option 3</option>
           <option value="4">Option 4</option>
    </select>
</div>

than you can do: 比你能做的

$('#option1').append('<span id="option_id_error" class="errors">Error</span>');

you can see it working at the below link 您可以在下面的链接中看到它的运行

http://jsfiddle.net/LGkWp/ http://jsfiddle.net/LGkWp/

如果需要在<select>旁边添加此<span>元素,则可以使用.after(..)方法:

jQuery('#my_options').after('<span id="option_id_error" class="errors">Error</span>');

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM