0

当从选择中选择特定选项时,我想将代码添加到 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>");
    }
});
4

5 回答 5

3

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

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

http://jsfiddle.net/ueEEW/

为什么不能有两个ID?

于 2013-06-06T12:16:35.023 回答
2
<select id="selectbasic ref" ...>

属性 ID 必须是单一的:

<select id="ref" ...>
于 2013-06-06T12:16:05.347 回答
0

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

希望能帮助到你!

于 2013-06-06T12:17:52.230 回答
0

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

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

希望对您有所帮助。

于 2013-06-06T12:24:07.923 回答
0

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

通过以下链接,它应该可以澄清您对多个 id 的疑虑

一个html元素可以有多个id吗?

于 2013-06-06T12:30:01.963 回答