为什么我不能从输入中选择值,我做错了什么?
if($('#target option:selected').text() == "add")
$("#add").show(selectedEffect, options, 500, callback );
else if ($('#target option:selected').text() == "exit")
$("#exit").show(selectedEffect, options, 500, callback );
else if ($('#target option:selected').text() == "refuse")
$("#refuse").show(selectedEffect, options, 500, callback );
else
alert('test');
答案 0 :(得分:6)
var target = $('#target option:selected').val();
if(target == "add")
$("#add").show(selectedEffect, options, 500, callback );
else if ($('#target option:selected').text() == "exit")
$("#exit").show(selectedEffect, options, 500, callback );
else if ($('#target option:selected').text() == "refuse")
$("#refuse").show(selectedEffect, options, 500, callback );
else
alert('test');
答案 1 :(得分:2)
如果您希望值使用.val()
method. .text()
method返回所选元素的内部文本。 .val()
方法将返回所选元素的value属性。还要注意的是,在select元素上使用val()方法时。您不必在选择器中获取所选选项,只需在select元素本身上调用val()即可获得所选值。
$('#target').val();
如果所选选项的value属性是您想要的。然后从你的例子中,这将有效。
switch ($('#target').val()) {
case "add":
$("#add").show(selectedEffect, options, 500, callback );
break;
case "exit":
$("#exit").show(selectedEffect, options, 500, callback );
break;
case "refuse":
$("#refuse").show(selectedEffect, options, 500, callback );
break;
default
alert('test');
break;
}
答案 2 :(得分:0)
如果你真的想要文本内容而不是value属性,那么你可能需要to trim whitespace。
虽然在您的情况下,您并不需要==
比较。如果您只是使用您返回的文本来构建选择器,那么您的代码可以大大减少。
// get (and trim) the text content
var txt = $.trim( $('#target option:selected').text() );
$('#' + txt).show(selectedEffect, options, 500, callback );
答案 3 :(得分:0)
<script>
$(document).ready(function(){
$('#colorselector').on('change', function() {
if ( this.value == 'red')
{
$("#divid").show();
}
else
{
$("#divid").hide();
}
});
});
</script>
对每个值都这样,根据数据更改值。