如何确定Select2实例的当前状态是启用还是禁用?

时间:2019-06-14 09:04:26

标签: jquery jquery-select2

假设我有一个如下所示的Select2元素:

<select id="Role" name="state">
  <option value="admin">Admin</option>
  <option value="user">User</option>
</select>
$(document).ready(function() {
  $('#Role').select2();
  $('#Role').select2('disable');
  var Select2state = $('#Role').select2('state'); // Get current state of Select2 disable or enable
  console.log(Select2state);
});

从上面我初始化了Select2,然后将其禁用。但是,如何获取其当前状态为启用或禁用?

谢谢

3 个答案:

答案 0 :(得分:1)

您可以使用disabled属性启用或禁用输入。下面的示例显示了如何单击按钮即可添加该属性,对其进行切换以及检查其是否存在。

希望这会有所帮助,让我知道您是否还想要其他东西。


演示

// Initialise select2
$(document).ready(function() {
  $('#Role').select2();
});


// Add click event to toggle button
$("#toggle").click(function() {

  // Check if select is disabled
  if ($("#Role").attr("disabled")) {
    // Remove disabled attribute if it is
    $("#Role").removeAttr("disabled");
  } else {
    // Add disabled attribute if it is not
    $("#Role").attr("disabled", "disabled");
  }

});


// Add click event to check button
$("#check").click(function() {

  // Check if select is disabled and print message
  if ($("#Role").attr("disabled")) {
    console.log("Select is disabled");
  } else {
    console.log("Select is not disabled");
  }

});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<link href="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.7/css/select2.min.css" rel="stylesheet" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.7/js/select2.min.js"></script>


<select id="Role" name="state">
  <option value="admin">Admin</option>
  <option value="user">User</option>
</select>


<button id='check'>Check if enabled</button>
<button id='toggle'>Enable/Disabled</button>

答案 1 :(得分:0)

根据documentation,Select2的disabled逻辑只是在disabled元素本身上设置select属性。

这样,您可以检查该属性的状态:

var disabled = $('#Role').is(':disabled');

答案 2 :(得分:0)

您可以使用uriPrefix:这将检查/account是否为adb shell am start -W -a android.intent.action.VIEW -d "hdsmobileapp://account/" com.digithurst.hdsapp

还请注意,根据您使用的$('#Role').is(':disabled');版本,您可能要使用select而不是disabled

工作演示

select2
$('#Role').select2("enable", false);