【问题标题】:How to dynamically show the value in input field related with select option如何动态显示与选择选项相关的输入字段中的值
【发布时间】:2020-11-04 14:04:10
【问题描述】:

每当从选择框中选择一个选项时,我都会尝试在输入字段中获取值。现在,每当我选择一个选项时,都会显示相关值,但它是选择选项格式。我只希望它在输入字段中。

这是我的 HTML

<select class="form-control" name="organisation" id="mainpage">
    <option selected="">Select</option>
    @foreach($users as $k=>$u)
        @if($u->created_by == $userId)
           <option value="{{ $u->id }}" id="{{ $u->id }}">{{ $u->name }}</option>
        @endif
    @endforeach
</select>

我只是希望下面的选择框会出现在输入字段中。

<select class="form-control" id="mainsection" required>
    <option>--Select--</option>
    @foreach($users as $k=>$u)
        @if($u->created_by == $userId)
            <option value="{{ $u->user_id }}" data-parent="{{ $u->id }}">{{ $u->user_id }}</option>                             
        @endif
    @endforeach
</select>

这是我的脚本:

<script type="text/javascript">
    jQuery("select#mainpage").on('change',function () {     
        jQuery("select#mainsection").find('option').css('display', 'none');
        var idclassurl = jQuery("select#mainpage :selected").attr('id')
        jQuery("select#mainsection").find('option[data-parent="'+idclassurl+'"]').css('display', 'block');
    });
</script>

【问题讨论】:

  • 请从控制台选项卡显示 js 错误
  • 以上代码运行完美,没有问题。我只是希望从第一个选择框中选择选项后,第二个选择框中显示的选项将显示在输入字段中,

标签: javascript laravel


【解决方案1】:

更改此代码

<select class="form-control" id="mainsection" required>
    <option>--Select--</option>
    @foreach($users as $k=>$u)
        @if($u->created_by == $userId)
            <option value="{{ $u->user_id }}" data-parent="{{ $u->id }}">{{ $u->user_id }}</option>                             
        @endif
    @endforeach
</select>

使用此代码

<div class="form-control" id="mainsection">
    @foreach($users as $k=>$u)
        @if($u->created_by == $userId)
            <input id="{{ $u->user_id }}" data-parent="{{ $u->id }}" value="{{ $u->user_id }}">                             
        @endif
    @endforeach
</div>

并将您的脚本更改为

<script type="text/javascript">
    jQuery("select#mainpage").on('change',function () {     
        jQuery("#mainsection").find('input').css('display', 'none');
        var idclassurl = jQuery("select#mainpage :selected").attr('id')
        jQuery("#mainsection").find('input[data-parent="'+idclassurl+'"]').css('display', 'block');
    });
</script>

以上解决方案是根据您已经开发的代码概念。其他简单的方法也很少。

【讨论】:

  • 我已经试过了。在这有一个问题,即它将显示所有选项,
  • 用同样的 sn-p 试试这个。 jsfiddle.net/vz5cn3wf
  • 好的,我试过了,但是它将最后一个值存储在数据库中,而不是选择的那个
  • 请检查“已经尝试过”部分,这显示的结果与您的 JS FIDDLE 中的结果相同,并且都将最后一个值存储在数据库中
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-03-12
  • 1970-01-01
相关资源
最近更新 更多