社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Jquery

在jquery中更改提交按钮的值不起作用

merlin • 7 年前 • 1821 次点击  

我想用jquery 1.4.5更改提交按钮的值(显示的文本):

$('.filter_watch').change(function() {
      $('#filter_submit').val("New text");
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script>
<select name="brand" class="filter_watch">
  <option>change</option>
  <option>me</option>
</select>

<input id="filter_submit" type="submit" value="Suchen" data-theme="b">

我也尝试过:

$('#filter_submit').prop("value", "New text");

更改函数在记录事件时激发,但按钮文本不会更改。我试了两个这样的变异剂,但没有一个有任何效果。

问题似乎是提交按钮的值正在更改,但由于jquery mobile的原因,其上的文本设置在DIV中。

渲染和更改事件后,按钮如下所示:

<div class="ui-btn ui-input-btn ui-btn-b ui-corner-all ui-shadow">
   Suchen
   <input id="filter_submit" type="submit" value="New text" data-theme="b">
</div>

原因可能是什么?我该如何更改该值?

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/31472
文章 [ 2 ]  |  最新文章 7 年前
Liraz Shaka Amir
Reply   •   1 楼
Liraz Shaka Amir    7 年前

我不知道你想做什么。 您是否试图更改jquery 1.4.5中按钮上的文本?

如果是这样-您需要确保按照jquery中的说明添加每个脚本 website

基本上,您需要将其添加到HTML文件的头部分:

<link rel="stylesheet" href="http://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.css" />
<script src="http://code.jquery.com/jquery-1.11.1.min.js"></script>
<script src="http://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.js"></script>
freedomn-m
Reply   •   2 楼
freedomn-m    7 年前

这里的问题是 开发 将按钮改为“更便于移动的外观”—将其包装在一个分区中。

如本文所述: https://stackoverflow.com/a/23071466/2181514

jquery mobile在页面加载时转换表单输入(以及其他内容),使其成为移动友好的版本。通常需要这样做,因为使用jquery移动版的按钮更容易单击。如果您不想这样做,请添加 data-role="none" 属性到您的提交输入。

或者,可以使用jquery通过查找 .contents() 具有 .nodeType==3 :

$('.filter_watch').change(function() {
  $('#filter_submit').val("New text");
  var t = $('#filter_submit').parent().contents().filter(function() {
    return this.nodeType === 3
  });
  for (var i = 0; i < t.length; ++i) {
    if (t[i].data.replace(/[\n\t]/g, "").trim() !== "")
      t[i].data = "New text";
  }
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script>
<select name="brand" class="filter_watch">
  <option>change</option>
  <option>me</option>
</select>

<div>
  Suchen
  <input id="filter_submit" type="submit" value="Suchen">
</div>

(jquery移动类在代码段中删除,以同时显示DIV和按钮文本更改)