选择特定选项时的jQuery事件

时间:2013-06-06 12:10:32

标签: jquery select append option

我想在选择select中的特定选项时将代码添加到div中。

这是代码,我不知道为什么不工作。

<select id="selectbasic ref" name="selectbasic ix-select-how" class="input-xlarge">
    <option value="" label=""></option>
    <option value="SearchEngine" label="Suchmaschine">Suchmaschine</option>
    <option value="Webhostlist" label="Webhostlist">Webhostlist</option>
    <option value="Press" label="Presse">Presse</option>
    <option value="Friend" label="Bekannte">Bekannte</option>
    <option value="ByChance" label="Zufällig">Zufällig</option>
    <option value="Others" label="Sonstige">Sonstige</option>
</select>
<div class="control-group ix-hidden"></div>                    

和jQuery:

$('#ref').change(function () {
    if ($(this).val() === 'Others') {
        $("div.control-group.ix-hidden").append("<label class='control-label'>Wie?</label><div class='controls'><div class='input-prepend'><span class='add-on'><i class='icon-globe'></i></span><input type='text' class='input-xlarge' id='email' name='email' placeholder='Wie?'></div></div>");
    }
});

5 个答案:

答案 0 :(得分:3)

为单个元素提供两个ID是无效的HTML,并且会导致尝试与DOM交互的任何javascript中的未定义行为。从select中删除第二个ID,它可以正常工作:

<select id="ref" name="selectbasic ix-select-how" class="input-xlarge">

http://jsfiddle.net/ueEEW/

Why can't you have two IDs?

答案 1 :(得分:2)

<select id="selectbasic ref" ...>

属性ID必须是单一的:

<select id="ref" ...>

答案 2 :(得分:0)

请检查您的jQuery选择器。我认为您的ID应该没有空格(尝试id = 'selectbasicRef'),并且在您的jQuery代码中引用它时应该是$("#selectbasicRef").change(function(){ //code });

希望它有所帮助!

答案 3 :(得分:0)

首先,任何字段的属性ID都应该是单一的,ID属性名称之间没有空格。例如

<select id="ref" name="selectbasic ix-select-how" class="input-xlarge">

希望对你有所帮助。

答案 4 :(得分:0)

使用空格分隔列表为同一个id属性分配多个ID是不可能的

通过以下链接,它应该澄清您对多个ID的疑问

Can an html element have multiple ids?