0

我想让如果用户选择某个选项(从数据库提供)只有一个值,那么另一个选项标签似乎选择 else 对于所有其他选项用户有文本框来输入值。类似于下面的东西-

     <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>

我没有得到什么概念有什么问题?我想在用户选择“印度”其他文本框进入状态的地方显示选择标签。

4

1 回答 1

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>

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

于 2012-07-26T17:01:36.857 回答