|
@@ -1,6 +1,31 @@
|
|
|
//# sourceURL=select-util.js
|
|
|
/**
|
|
|
- * 根据输入的值动态查询select的数数据源
|
|
|
+ * 根据输入的值动态查询select的数数据源,记录上次查询条件选的数据
|
|
|
+ * @param id select元素的ID
|
|
|
+ * @param url 动态请求地址
|
|
|
+ */
|
|
|
+function dynamicSelectWithOri(id, url) {
|
|
|
+ var inputObj = $("#" + id).parent().find("div.bs-searchbox").find("input");
|
|
|
+ //中文会导致查询混乱
|
|
|
+ $(inputObj).on('compositionstart', function () {
|
|
|
+ $(inputObj).attr("isNeedPrevent", true);
|
|
|
+ });
|
|
|
+ $(inputObj).on('compositionend', function () {
|
|
|
+ $(inputObj).attr("isNeedPrevent", false);
|
|
|
+ });
|
|
|
+
|
|
|
+ $(inputObj).keyup(function () {
|
|
|
+ var isNeedPrevent = $(inputObj).attr("isNeedPrevent");
|
|
|
+ if (isNeedPrevent == "true") {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ debounce(dynamicSelectImediateWithOri(inputObj, url, id), 300, true)
|
|
|
+ });
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+/**
|
|
|
+ * 根据输入的值动态查询select的数数据源,不保留上次的内容
|
|
|
* @param id select元素的ID
|
|
|
* @param url 动态请求地址
|
|
|
*/
|
|
@@ -24,12 +49,56 @@ function dynamicSelect(id, url) {
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
- * 根据输入的值动态查询select的数数据源 不防抖
|
|
|
+ * 根据输入的值动态查询select的数数据源 不防抖 单选
|
|
|
* @param inputObj
|
|
|
* @param url
|
|
|
* @param id
|
|
|
*/
|
|
|
function dynamicSelectImmediate(inputObj, url, id) {
|
|
|
+//键入的值
|
|
|
+ var inputValue = $(inputObj).val();
|
|
|
+ //判定键入的值不为空,才调用ajax
|
|
|
+ if (inputValue != '') {
|
|
|
+ $.ajax({
|
|
|
+ type: 'GET',
|
|
|
+ url: url + inputValue,
|
|
|
+ dataType: "Json",
|
|
|
+ success: function (res) {
|
|
|
+ if (res == '401' || res == 401) {
|
|
|
+ window.location.href = '/thmz/login/view'
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ if (res.code == 0) {
|
|
|
+ $("#" + id).empty();
|
|
|
+ res.data.forEach(function (item, index) {
|
|
|
+ var html = '<option value="' + item.code + '">' + item.name + '</option>';
|
|
|
+ $("#" + id).append(html);
|
|
|
+ });
|
|
|
+ $("#" + id).selectpicker('refresh');
|
|
|
+ } else {
|
|
|
+ errorMesage(res);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ })
|
|
|
+ } else {
|
|
|
+ $("#" + id).empty();
|
|
|
+ $("#" + id).selectpicker('refresh');
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+/**
|
|
|
+ * 根据输入的值动态查询select的数数据源,并且可以保留上次选择的数据, 不防抖
|
|
|
+ * @param inputObj
|
|
|
+ * @param url
|
|
|
+ * @param id
|
|
|
+ */
|
|
|
+function dynamicSelectImediateWithOri(inputObj, url, id) {
|
|
|
//键入的值
|
|
|
var inputValue = $(inputObj).val();
|
|
|
//判定键入的值不为空,才调用ajax
|