使用jquery.append()方法

时间:2012-08-29 08:44:23

标签: javascript jquery append

我的代码中,append方法不起作用有什么问题?我确实收到警报但是附加的实际方法无效。请参阅以下代码:

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:

<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>

表单中的选择是动态生成的。如果未在下拉框中选择任何内容,则会显示范围错误消息。所以我的预期结果如下:

<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>

我不需要在选项上添加内容。

2 个答案:

答案 0 :(得分:1)

您正在做的事情不正确,因为SPAN项目在SELECT项目中无效。

如果您尝试添加新选项,例如它将起作用

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

你可以做的是将选择项包装在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>

比你能做的更多:

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

您可以在以下链接中看到它

http://jsfiddle.net/LGkWp/

答案 1 :(得分:0)

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

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