0

一旦用户选择了他们要与我联系的原因,我想更新表单,以便我可以从他们那里获取相关信息,我现在有这个;

==== HTML ====

<select name="Reason" id="Reason" required>
         <option value="" disabled selected>Select Option</option>
         <option value="Please give me a price" >Price</option>
         <option value="I have some positive feedback">Postive Feedback</option>
         <option value="I have some negetive feedback">Negetive Feedback</option>
         <option value="I have a suggestion">Suggestion</option>
         <option value="Other">Other</option>
 </select>

我尝试使用 JQuery 来获取从选项选择中选择的值或文本(我不介意哪个)。一旦使用 .change() 函数更改了值,我设法让一个警报框出现,但无法显示所选选项的值或打印出某种方式来确定一个或另一个选项已被选中。

==== jQuery ====

var selectedOption = $("#reason option:selected").text()

reason.change(checkValue);

function checkValue(){
    alert(selectedOption);
}

如果选择了“价格”,我只想显示一些输入文本字段,如果选择了其他任何内容,则只显示多行文本区域。

4

4 回答 4

1

我想你需要这个,是吗?专门回答:

如果选择了“价格”,我只想显示一些输入文本字段,如果选择了其他任何内容,则只显示多行文本区域。

$("#textBoxes").hide();
$("#textAreas").hide();

$("#Reason").change(function(){
    if(this.value == "Please give me a price"){
         $("#textBoxes").show();
         $("#textAreas").hide();
    }
    else{
         $("#textAreas").show();
         $("#textBoxes").hide();
    }
});

小提琴演示

于 2013-07-10T12:31:43.063 回答
0

我会尝试

$('#reason').on('change', function(){
    //pick your poison
    alert($(this).val());
    alert($(this).find('option:selected').html());
});

祝你好运!

于 2013-07-10T18:45:34.420 回答
0

您需要在处理程序中获取所选选项的值,否则变量将不会更新为当前值。此外,jQuery 选择器区分大小写,因此您需要使用#Reasonnot #reason

这应该适合你:

$('#Reason').on('change', function(){
    var selectedOption = $(this).find("option:selected").text();
    alert(selectedOption);
});

工作演示

于 2013-07-10T12:31:42.193 回答
0

您需要像这样修改您的代码:

$('#Reason').change(checkValue);

function checkValue(){
    alert($(this).find('option:selected').text());
}

小提琴演示

于 2013-07-10T12:32:40.350 回答