0

我编写了以下脚本:

http://jsfiddle.net/rgf8K/

它的工作方式是你选择你的出生月份和最喜欢的颜色,然后它应该为你提供你的“名人姓名”。

现在脚本的编写方式是错误的......因为输出不显示所选选项值的选项标签。如果此人选择一月作为月份并选择绿色作为颜色,我希望输出显示:您的名人姓名是 Linda Green。

如何改为显示所选标签选项的标签?非常感谢!!

HTML

<form>
    <select id="month">
        <option value="">- birth month -</option>
        <option value="January">January</option>
        <option value="February">February</option>
        <option value="March">March</option>
    </select>  
    <label class="January" for="January">Linda</label>
    <label class="February" for="February">Chris</label>
    <label class="March" for="March">James</label>


    <select id="color">
        <option value="">- favorite color -</option>
        <option value="Green">Green</option>
        <option value="Blue">Blue</option>
        <option value="Red">Red</option>
    </select>  
    <label class="Green" for="Green">Roberts</label>
    <label class="Blue" for="Blue">Blue</label>
    <label class="Red" for="Red">Unger</label>
</form>

    <p id="output"></p>

jQuery

$("#month, #color").change(function () {
    var month = $("#month").val();
    var color = $("#color").val();
    var content = '';
    if (month && color) {
        content = 'Your celebrity name is ' + month + ' name ' + color + ' name';
    }
    $("#output").text(content).fadeIn();
});
4

2 回答 2

0

因为你有月份选择值的类名,你可以试试这个:

改变:

var month = $("#month").val();
var color =$("#color").val();

至:

var month = $('.'+$("#month").val()).text();
var color = $('.'+$("#color").val()).text();
于 2013-04-03T02:19:59.953 回答
0

您可以更改选项的值属性:

<select id="month">
        <option value="">- birth month -</option>
        <option value="Linda">January</option>
        <option value="Chris">February</option>
        <option value="James">March</option>
    </select>  

颜色也是如此。

<select id="color">
        <option value="">- favorite color -</option>
        <option value="Roberts">Green</option>
        <option value="Blue">Blue</option>
        <option value="Unger">Red</option>
    </select>  

然后取下标签,它应该可以按预期工作。

于 2013-04-03T01:34:03.040 回答