Jquery改变不起作用

时间:2016-01-05 03:17:51

标签: jquery html

我有一个带2个值的选择选项(本地/导入)。每个值都有一个对应的表,当选中的表将显示在页面上。我使用了jquery更改,但它不起作用,而是所有表都显示在页面中。请帮我解决我的代码有什么问题。感谢。

这是jquery代码:

<script>

$('#shiptype').change(function () {
   $('#t1,#t2').hide();
      var tableValue = $(this).val();

    if (tableValue == 1) {
        $('#t1').show();
    } else if (tableValue == 2) {
        $('#t2').show();
    }   

}); 
</script>

这是html部分:

<form name='form1' method='post' autocomplete='on'>


<table id='tblselect' class=normal2 style='font-size:0.6em;'>
<tr><th align='right'>Shipment Type: </th>
<td><select name='shiptype' id="shiptype" onchange="">
        <option value="0"> Please select... </option>
        <option value="1"> LOCAL </option>
        <option value="2"> IMPORT </option>
      </select></td></tr>
</table>    
<br>



<table id="t1" class=normal2 style='font-size:0.6em;'>

<tr><th align='right'>Shipment Type:</th>
<td><b><input type='text' name='ship' value='LOCAL' readonly /></b></td></tr>

<tr><th align='right'>Reference Number: </th>
<td><b><input type='text' name='ref_no' value="<?php echo $localrefnumb ?>" readonly /></b></td></tr>

<tr><th align='right'>Supplier: </th>
<td><select name='supplier'>
    <option value='&nbsp;'> Please select... </option>
    <option value='Supplier 1'> Supplier 1 </option>
    <option value='Supplier 2'> Supplier 2 </option>
    <option value='Supplier 3'> Supplier 3 </option>
      </select></td></tr>

<tr><th align='right'>Description: </th>
<td><input type='text' name='description' size='70' /></td></tr>

<tr><th align='right'>PO No: </th>
<td><input type='date' name='po_no' /></td></tr>

<tr><th align='right'>Invoice Number: </th>
<td><input type='text' name='inv_number' /></td></tr>

<tr><th align='right'>Receive Qty: </th>
<td><input type='text' name='r_qty'/></td></tr>

<tr><th align='right'>No. of Boxes/Packs: </th>
<td><input type='text' name='no_boxes'/></td>

<tr><th align='right'> </th>
<td></td></tr>

<tr><th align='right'> </th>
<td align='left'><input type='submit' name='local_btn' value='SAVE' style='font-size:2em;'> &nbsp;&nbsp;&nbsp;&nbsp; <input type='submit' name='local_cancel' value='CANCEL' style='font-size:2em;'></td></tr>
</table>



<table id="t2" class=normal2 style='font-size:0.6em;'>

<tr><th align='right'>Shipment Type:</th>
<td><b><input type='text' name='ship2' value='IMPORT' readonly /></b></td></tr>

<tr><th align='right'>Reference Number: </th>
<td><b><input type='text' name='ref_no2' value="<?php echo $importrefnumb ?>" readonly /></b></td></tr>

<tr><th align='right'>Supplier: </th>
<td><select name='supplier2'>
    <option value='&nbsp;'> Please select... </option>
    <option value='Supplier1'> Supplier 1 </option>
    <option value='Supplier2'> Supplier 2 </option>
    <option value='Supplier3'> Supplier 3 </option>
      </select></td></tr>

<tr><th align='right'>Description: </th>
<td><input type='text' name='description2' size='70' /></td></tr>

<tr><th align='right'>PO No: </th>
<td><input type='date' name='po_no2' /></td></tr>

<tr><th align='right'>Invoice Number: </th>
<td><input type='text' name='inv_number2' /></td></tr>

<tr><th align='right'>AWB(Airway Bill) No: </th>
<td><input type='text' name='awb_no'/></td></tr>

    <tr><th align='right'>AWB(Airway Bill) No of Boxes/Packs: </th>
<td><input type='text' name='awb_no_boxes'/></td></tr>

<tr><th align='right'> </th>
<td></td></tr>

<tr><th align='right'> </th>
<td align='left'><input type='submit' name='import_add' value='SAVE' style='font-size:2em;'> &nbsp;&nbsp;&nbsp;&nbsp; <input type='submit' name='import_cancel' value='CANCEL' style='font-size:2em;'></td></tr>
</table>

</form> 

2 个答案:

答案 0 :(得分:0)

您的代码适合我。我刚刚添加了$('#t1,#t2').hide();来隐藏它们。 工作小提琴https://jsfiddle.net/trwsfxdv/

可能会将所有代码放入就绪函数中:

$(document).ready(function(){
    //put all your JS code here
 });

答案 1 :(得分:0)

您需要将表格设置为display:none,否则它们将显示在页面中,或者您也可以在页面加载时隐藏它们。您还需要将JS放在$(document).ready函数中。

<table id="t1" class=normal2 style='font-size:0.6em;display:none;'>
<table id="t2" class=normal2 style='font-size:0.6em;display:none;'>

这是一个Fiddle