Py学习  »  Jquery

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

merlin • 5 年前 • 573 次点击  

我想用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
 
573 次点击  
文章 [ 2 ]  |  最新文章 5 年前
Liraz Shaka Amir
Reply   •   1 楼
Liraz Shaka Amir    5 年前

我不知道你想做什么。 您是否试图更改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    5 年前

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

如本文所述: 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和按钮文本更改)