2012-07-26 60 views
0

如果用户选择某个选项(从数据库提供)只有一个值,那么其他选项标签显示为选择其他选项其他选项用户有文本框输入值。像下面的东西 -如果用户选择级联的某个选项,则删除带有文本输入的选择标签

 <tr> 
     <td><span class="alert">* </span>Country:</td> 
     <td><select name="country_id" class="medforminput" id="country_id" onchange="getState('select_state.php?country_id='+this.value)"> 
    <option value="Select Country">Select Country</option> 
     <?php 
     while($row4=mysql_fetch_array($coun1)) 
     { ?> 
     <option value="<?php echo $row4['country_id']; ?>"> 
<?php echo $row4['country_name']; ?></option> 
    <?php }?> 
    <option value="others">Others</option> 
    </select></td> 
    </tr> 
    <tr> 
    <td><span class="alert">* </span>State</td> 
<?php 
if($row4['country_name']=="INDIA") 
{?> 
    <td id="statediv"><select name="state_id" class="medforminput" id="state_id" onchange="getCity('select_city.php?state_id='+this.value)"> 
    <option value="">Choose State</option> 
    </select></td> 
<?php else { 
<td id="statediv"><input type="text" name="state_id" class="medforminput" id="state_id"/> 
</td> 
<?php }?> 
    </tr> 

我没有得到什么错误的概念? 我想显示选择标签,用户选择“INDIA”else文本框来输入状态。

+0

所以,你说的是,如果他们选择“印度”应该出现另一个选择下拉菜单,但任何其他选择应该会导致一个文本框? – Matt 2012-07-26 16:52:51

+0

@Matt是的,如果用户选择“印度”,那么你应该有印度的国家出现在下拉列表中选择其他文本输入它 – 2012-07-26 16:59:23

回答

1

您需要在javascript中编写一个onChange事件处理程序,用于测试选定的选项,然后在动态div中显示下拉列表或文本框。

我打算使用jQuery,因为它是一个很少的代码。

例子:

<select name="country_id" class="medforminput" id="country_id" > 
<!-- options go here --> 
</select> 

<script language="javascript"> 
    $("#country_id").change(function() { 
     if ($(this).val() == 'India') { // put the country id here instead of string comparison 
      $("#stateInput").html(getStates()); 
     } else { 
      $("#stateInput").html("<input type='text' id='stateId' name='stateId' />"); 
     } 
    }); 
</script> 

请原谅伪 - 我不想让它过长。

+0

如果你教我的例子,这将是有益的。我希望我会得到我想要做的...... – 2012-07-26 17:39:15

+0

@RajeevKumar示例代码已添加到答案。 – Matt 2012-07-26 17:44:23