GVKun编程网logo

javascript-选择后禁用选定的元素(javascript 选择器)

13

在这里,我们将给大家分享关于javascript-选择后禁用选定的元素的知识,让您更了解javascript选择器的本质,同时也会涉及到如何更有效地javascript-下拉列表选择后无法变成已选择项

在这里,我们将给大家分享关于javascript-选择后禁用选定的元素的知识,让您更了解javascript 选择器的本质,同时也会涉及到如何更有效地javascript - 下拉列表选择后无法变成已选择项、javascript – css隐藏“选择文件”按钮,但选择后显示文件、javascript – Ionic 3 – 离子选择(多个)选择两个项后禁用所有选项、javascript – 使用jQuery按值选择带元素的元素的内容。

本文目录一览:

javascript-选择后禁用选定的元素(javascript 选择器)

javascript-选择后禁用选定的元素(javascript 选择器)

在下面的示例中,如何在单击可选元素后将其禁用?另外,我需要更改其CSS样式.

$(function(){
  $("#selectable").selectable({
    stop: function() {
      var result = $( "#select-result" ).empty();
      $( ".ui-selected", this ).each(function() {
         var index = $( "#selectable li" ).index( this );
         result.append( " #" + ( index + 1 ) );
      });
    }
  });
});
    <!doctype html>
<html lang="en">
  <head>
    <Meta charset="utf-8">
    <Meta name="viewport" content="width=device-width, initial-scale=1">
    <title>jQuery UI Selectable - Serialize</title>
    <link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
    <link rel="stylesheet" href="/resources/demos/style.css">

    <style>
      #Feedback { font-size: 1.4em; }
      #selectable .ui-selecting { background: #FECA40; }
      #selectable .ui-selected { background: #F39814; color: white; }
      #selectable { list-style-type: none; margin: 0; padding: 0; width: 60%; }
      #selectable li { margin: 3px; padding: 0.4em; font-size: 1.4em; height: 18px; }
    </style>
    <script src="https://code.jquery.com/jquery-1.12.4.js"></script>
    <script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>

  </head>
  <body>
    <p id="Feedback"><span id="select-result">none</span>.</p>
    <ol id="selectable">
      <li>Item 1</li>
      <li>Item 2</li>
    </ol> 
  </body>
</html>

我试图做这样的

$("#selectable li").index(this).css('text-decoration', 'line-through');

但它不起作用.

这个想法是在一个元素被点赞之后将其禁用,以使用户无法再次选择它.

@H_301_24@解决方法:

有点麻烦,但可以做到.

通过将CSS类(.selectable-disabled)应用于stop事件处理程序中的选定项来禁用指针事件.
然后使用filter选项仅允许选择li:not(.selectable-disabled)项目.

您可以通过删除.selectable-disabled类将项目恢复到其初始状态(在下面的演示中单击按钮)

$( function() {
  $( "#selectable" ).selectable({
    filter : 'li:not(.selectable-disabled)',
    stop: function(){
      var result = '';
      $( ".ui-selected", this ).each(function() {
        result += " #" + ( $(this).index() + 1 );
      }).addClass('selectable-disabled').removeClass('ui-selected');
      $( "#select-result" ).html(result || 'none');
    }
  });
  
  $('#restore').click(function(){
    $('.selectable-disabled').removeClass('selectable-disabled');
  });
});
.selectable-disabled{
  text-decoration : line-through;
  pointer-events : none;
}
<!doctype html>
<html lang="en">
  <head>
    <Meta charset="utf-8">
    <Meta name="viewport" content="width=device-width, initial-scale=1">
    <title>jQuery UI Selectable - Serialize</title>
    <link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
    <link rel="stylesheet" href="/resources/demos/style.css">

    <style>
      #Feedback { font-size: 1.4em; }
      #selectable .ui-selecting { background: #FECA40; }
      #selectable .ui-selected { background: #F39814; color: white; }
      #selectable { list-style-type: none; margin: 0; padding: 0; width: 60%; }
      #selectable li { margin: 3px; padding: 0.4em; font-size: 1.4em; height: 18px; }
    </style>
    <script src="https://code.jquery.com/jquery-1.12.4.js"></script>
    <script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>

  </head>
  <body>
    <p id="Feedback"><span id="select-result">none</span>.</p>
    <ol id="selectable">
      <li>Item 1</li>
      <li>Item 2</li>
      <li>Item 3</li>
      <li>Item 4</li>
      <li>Item 5</li>
      <li>Item 6</li>
    </ol>
    <p><button id=restore>Restore</button></p>
  </body>
</html>

javascript - 下拉列表选择后无法变成已选择项

javascript - 下拉列表选择后无法变成已选择项

1.下拉列表选择后没有地址栏有相应的参数,数据也能查询出来但是下拉列表未能变成已选择项

html :

            <div>
                <label>品牌:</label>
                <selectid="disbrand"><option value="">请选择品牌</option>
<?php foreach($brands as $v){?><option value="&lt;?php echo $v[''brand_id'']?&gt;" echo isset :>&gt;  <?php echo $v[''brand_name'']?>
</option>
<?php }?></select>
</div>
        
登录后复制
登录后复制

js :function dissearch(){

var url = "/console/distribute/distribute/index/";
var agt = "?";
if($("#disbrand").val()!=""){
    url+=agt+"brand_id="+$("#disbrand").val();
    agt = "&amp;";
}
登录后复制
登录后复制
  1. 贴上报错信息

  2. 贴上相关截图javascript - 下拉列表选择后无法变成已选择项

    立即学习“Java免费学习笔记(深入)”;

  3. 已经尝试过哪些方法仍然没解决(附上相关链接)

回复内容:

1.下拉列表选择后没有地址栏有相应的参数,数据也能查询出来但是下拉列表未能变成已选择项

html :

            <div>
                <label>品牌:</label>
                <selectid="disbrand"><option value="">请选择品牌</option>
<?php foreach($brands as $v){?><option value="&lt;?php echo $v[''brand_id'']?&gt;" echo isset :>&gt;  <?php echo $v[''brand_name'']?>
</option>
<?php }?></select>
</div>
        
登录后复制
登录后复制

js :function dissearch(){

var url = "/console/distribute/distribute/index/";
var agt = "?";
if($("#disbrand").val()!=""){
    url+=agt+"brand_id="+$("#disbrand").val();
    agt = "&amp;";
}
登录后复制
登录后复制
  1. 贴上报错信息

  2. 贴上相关截图javascript - 下拉列表选择后无法变成已选择项

    立即学习“Java免费学习笔记(深入)”;

  3. 已经尝试过哪些方法仍然没解决(附上相关链接)

就是不知道你这个$args[''brand_id'']是否存在了,你先var_dump出来看看,实在不行的话,那个SELECTED改为selected="selected"

javascript – css隐藏“选择文件”按钮,但选择后显示文件

javascript – css隐藏“选择文件”按钮,但选择后显示文件

我想为图片上传制作自定义按钮.我可以通过下面的演示得到这个结果:

https://jsfiddle.net/algometrix/fgrbyo4z/

但我如何显示之后选择的文件名?或者甚至可能是图像的缩略图?就像我从弹出窗口的窗口中选择一个文件后,我希望它在我选择后在页面上显示“文件名”.

Javascript – 如果有人可以在这方面提供帮助,jQuery完全是一个选项.

HTML

<div>
  <divhttps://www.jb51.cc/tag/dis/" target="_blank">display:block;text-align:center;margin-top:20%;">
    <label for="files"> <span>Select Image</span></label>
    <inputid="files"type="file" name="files">

  </div>

</div>

CSS

.btn {
  font-family: Arial;
  color: #ffffff;
  font-size: 20px;
  background: #3f88b8;
  padding: 10px 20px 10px 20px;
  text-decoration: none;
}

.btn:hover {
  background: #3cb0fd;
  background-image: -webkit-linear-gradient(top,#3cb0fd,#3498db);
  background-image: -moz-linear-gradient(top,#3498db);
  background-image: -ms-linear-gradient(top,#3498db);
  background-image: -o-linear-gradient(top,#3498db);
  background-image: linear-gradient(to bottom,#3498db);
  text-decoration: none;
}

解决方法

通过添加javascript,我们可以在输入上查看更改事件,并将名称放在页面上.请注意这些次要的HTML更改:
<div>
  <label for="upload-1">Upload</label>
  <input type="file" id="upload-1">
  <p>Please select a file.</p>
</div>

有了这个jQuery:

jQuery(function($) {
  $('input[type="file"]').change(function() {
    if ($(this).val()) {
         var filename = $(this).val();
         $(this).closest('.file-upload').find('.file-name').html(filename);
    }
  });
});

Working Fiddle

javascript – Ionic 3 – 离子选择(多个)选择两个项后禁用所有选项

javascript – Ionic 3 – 离子选择(多个)选择两个项后禁用所有选项

我想在选中两个选项后禁用所有选项.我试过(ionChange)但是在点击了选择模型的“确定”按钮后触发了这个事件.在“ionChange”之前是否还有其他事件要执行?

disable

 <ion-item>
     ion-item>
最佳答案
下面的代码将满足您的要求.更改复选框限制以增加或减少可以选择的选项数.优化提示也受到欢迎.

Working demo

组件文件

import { Component } from '@angular/core';
import { NavController } from 'ionic-angular';

@Component({
  selector: 'page-home',templateUrl: 'home.html'
})
export class HomePage {

  selectedIng : ArrayBoxLimit : any =1;
  constructor(public navCtrl: NavController) {
    this.pizzaIng=[
      {name : "Pepperoni",checked : false},{name : "Sasuage",checked : true},{name : "Mushrooms",checked : false}
    ];
    this.selectedIng=[{name : "Sasuage",checked : true}];    
  }

  updateIng(ing){
      if(ing.checked === true){
      this.selectedIng.push(ing);
      this.numberOfChecks++;
      }else{
        this.selectedIng=this.pizzaIng.filter((ingr)=>{
          console.log(ingr['checked'])
          return ingr['checked']===true;
        })
        this.numberOfChecks--;
      }

    console.log(this.selectedIng);
    console.log(this.numberOfChecks);
  }
}

HTML文件

  ion-item  *ngFor="let ing of pizzaIng; let i = index">
    disabled]="ing.checked==false && numberOfChecks>=checkBoxLimit"  (ionChange)="updateIng(ing)">Box>
  ion-item>

javascript – 使用jQuery按值选择带元素的元素

javascript – 使用jQuery按值选择带元素的元素

如果我有以下XML:

<Books>
    <Book>
        <Name>Test</Name>
        ...
    </Book>
    <Book>
        <Name>Another one</Name>
        ...
    </Book>
</Books>

如何使用jQuery的名称值等于“test”的子元素选择Book元素?

解决方法:

var book = $xml.find( 'Name' ).filter(function () {
    return $( this ).text() === 'Test';
}).parent();

其中$xml是表示XML文档的jQuery对象.我假设您通过Ajax加载XML文档.在这种情况下,你可以像这样构造一个这样的jQuery对象:

var $xml = $( data );

数据是Ajax响应的地方.

关于javascript-选择后禁用选定的元素javascript 选择器的介绍现已完结,谢谢您的耐心阅读,如果想了解更多关于javascript - 下拉列表选择后无法变成已选择项、javascript – css隐藏“选择文件”按钮,但选择后显示文件、javascript – Ionic 3 – 离子选择(多个)选择两个项后禁用所有选项、javascript – 使用jQuery按值选择带元素的元素的相关知识,请在本站寻找。

本文标签: