我有一个HTML表单,我想根据初始选项输入中选择的内容显示输入。
这些选项是通过PHP打印的,因为它从PHP数组中获取了一些信息。
<?php
foreach ($type as $line_name => $line_id) {
print "<option value='$line_id'>$line_name</option>";
}
?>
因此,为了论证,选项值将打印为&#34; 123&#34;。
然后我有我要隐藏的字段的HTML。 php只是用数据库中的东西自动填充数据。
<tr><td>First Name:</td><td><input type="text" size="30" maxlength="30" name="contact_firstname" id="first_name" value="<?php print $customer->cust_firstname; ?>"><br/></td></tr>
我的Javascript如下:
$(document).ready(function () {
$('#efm select[name="type"]').change(function () {
if ($('#efm select[name="type"]').val() == '123') {
$('#first_name').hide();
} else if ($('#contact select[name="type"]').id() == 'EFM-2-PAIR'){
$('#').show();
} else if ($('#contact select[name="type"]').id() == 'EFM-4-PAIR'){
} else {
$('#').hide();
}
});
});
目前还没有工作,领域&#34; first_name&#34;选择&#34; 123&#34;时仍然在屏幕上从选择中,我有一种感觉,因为它是从PHP中吸收的,所以它很难阅读,但我不是专家。
这里的任何帮助都会很棒
答案 0 :(得分:0)
试试这个......
$('#efm select[name="type"]').change(function () {
if ($(this).val() == '123') {
$('#first_name').hide();
}else
if($('#contact select[name="type"]').attr('id') == 'EFM-2-PAIR'){
// this won't work... $('#').show();
// the hash tag is the begining of an id selector..
// $('#some-id').show(); will work better!
}else
if ($('#contact select[name="type"]').attr('id') == 'EFM-4-PAIR'){
} else {
// won't work... $('#').hide();
}
});
这是假设在包含元素中有一个名为'type'的select元素,其id为'contact'..实际上不确定你要用这些条件完成什么,也许你想检查一下值?
if($('#contact select[name="type"]').val() == 'EFM-4-PIAR') ...
否则,除非你动态地改变id的某个地方,否则它们将永远是真的..
如果您只是检查来自同一选择的其他选项值,请使用...
...
}else
if($(this).val() == 'EFM-2-PAIR'){
//do something
}else
if($(this).val() == 'EFM-4-PAIR'){
//do something else..
}else{
//do something when none of the above conditions are met..
}
FYI ... $(this)将在处理程序中引用您为侦听器提供的元素。在这种情况下$('#efm select [name =“type”]')...将为您节省一些打字:)
答案 1 :(得分:0)
尝试提醒选择的值。
alert($(&#39; #efm select [name =&#34; type&#34;]&#39;)。val()); //你也可以使用$(this).val()这会减少代码大小
并将其他部分留空。
$('#efm select[name="type"]').change(function () {
alert($(this).val());
alert('is equal= '+$(this).val() == '123');
if ($(this).val() == '123') {
$('#first_name').hide();
} else {
alert('else part');
}
});
答案 2 :(得分:0)
jQuery(function ($) {
$('#type').on('change', function(e) {
alert($(this).val())
if ($(this).val() == '190452') { // Bath Business Park Ethernet Rental
$('#first_name').hide();
} else if($(this).val() == '105561'){ //EFM-2-PAIR
$('#surname').hide();
} else if($(this).val() == '105581'){ //EFM-4-PAIR
$('#company_name').hide();
} else if($(this).val() == '105601'){ // EFM National Ethernet Rental
$('#company_name').hide();
}
});
})
这是修复问题的代码,因为值类型实际上是一个包含2条信息的数组,但是它在阅读时遇到了问题。