Laravel - 选择一次后禁用选项值

时间:2018-01-30 14:46:24

标签: javascript php jquery html laravel-5

我的项目中有一个用户用来填充应用程序的表单。 在这种形式中,我有一个表格,其中包含有关用户语言技能的详细信息。 此外,在我的项目中,我有一个播种机,其中包含表格中选项选项中显示的所有语言。

如何在选择一种语言后禁用其中一种语言?

这是我的代码的一些示例:

HTML:

<td id="resource_profile_languages">
  <select {{ (FALSE == $canEdit) ? 'readonly':'' }} class="form-control form-select" id="{{ 'resource_profile_language_'.$index }}" name="{{ 'resource_profile_language_'.$index }}" placeholder="Language">
    @foreach($languages as $r=>$language)
      <option {{ ($language->name == $resourceProfileLanguage->language->name) ? 'selected':'' }} value="{{ $language->value }}" >{{ $language->name }}</option>
    @endforeach
  </select>
</td>

这是我在表格中添加新语言的脚本方式:

function addNewLanguage(){
    var count = $('#resource_profile_language_table').children('tr').length;

    var select_language = $('#resource_profile_languages')
                            .children([CONST_ENGLISH_ID])
                            .clone()
                            .attr('id', idResourceProfileLanguage.concat(count))
                            .attr('name', idResourceProfileLanguage.concat(count));


    $('#resource_profile_language_table').append($('<tr>').append( $('<td id="resource_profile_languages_' + count + '" name="resource_profile_languges_' + count + '">').append(select_language)));
  }

1 个答案:

答案 0 :(得分:0)

您需要在选择中收听change事件。由于select的ID是动态的,因此只要内嵌/包含在模板中,就可以使用Blade语法。类似的东西:

$("#{{ 'resource_profile_language_'.$index }}").on("change", function(){
     $("#{{ 'resource_profile_language_'.$index }} option:selected").attr("disabled","disabled")
    .siblings();
 });