我的项目中有一个用户用来填充应用程序的表单。 在这种形式中,我有一个表格,其中包含有关用户语言技能的详细信息。 此外,在我的项目中,我有一个播种机,其中包含表格中选项选项中显示的所有语言。
如何在选择一种语言后禁用其中一种语言?
这是我的代码的一些示例:
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)));
}
答案 0 :(得分:0)
您需要在选择中收听change
事件。由于select的ID是动态的,因此只要内嵌/包含在模板中,就可以使用Blade语法。类似的东西:
$("#{{ 'resource_profile_language_'.$index }}").on("change", function(){
$("#{{ 'resource_profile_language_'.$index }} option:selected").attr("disabled","disabled")
.siblings();
});