这个If/Else代码有什么问题?

What is wrong with this If/Else code?

本文关键字:什么 问题 代码 If Else 这个      更新时间:2023-09-26

我有一个"更改"按钮,使表单激活或锁定时,点击。虽然按钮只在我点击"更改"时工作,然后不:/

<div class="holder">
  <div class="question active">Q1<input id="one" type="text">
<div class="button passive"><input type="button" value="Change" id="changeone"></div></div></div>
$('input#changeone').click(function() {
    if( $('#one').attr('readonly', true) ) {
      $("#changeone").attr('value', 'Save');
      $('div.button').parent().css('background-color', 'red');
      $('#one').attr('readonly', false);
    } else {
      $("#changeone").attr('value', 'Change');
      $('div.button').parent().css('background-color', 'green');
      $('#one').attr('readonly', true);
    }
})

谢谢:)

* *纠正缩进

谢谢大家!你们的反应如此之快,我感谢每个人的时间:)

您在if设置 readonlytrue,而不是获取。您需要使用.attr(attributeName)来获取该值。

$('input#changeone').click(function() {
    if( $('#one').attr('readonly') == 'readonly') {
        ...
    } else {
        ...
    }
});

需要像这样检查是否为真:

if( $('#one').attr('readonly') == true) )

你也可以单独使用readonly属性

<input readonly>

在这种情况下,使用如下:

$('#one').is('[readonly="readonly"]') || $('#one').is('[readonly="true"]')

将两者合并成一个语句:

var isReadonly = $('#one').attr("readonly");
if(isReadonly && isReadonly.toLowerCase()!=='false') { 
   // this is readonly
}

试试这个

$('input#changeone').click(function() {
    if( $('#one').attr('readonly')) {
    $("#changeone").attr('value', 'Save');
    $('div.button').parent().css('background-color', 'red');
    $('#one').attr('readonly', false);
} else {
    $("#changeone").attr('value', 'Change');
    $('div.button').parent().css('background-color', 'green');
    $('#one').attr('readonly', true);
}
})

试试这个

<div class="holder">
  <div class="question active">Q1<input id="one" type="text">
<div class="button passive"><input type="button" value="Change" id="changeone"></div></div></div>
$('input#changeone').click(function() {
    if( $('#one').attr('readonly') == true ) {
    $("#changeone").attr('value', 'Save');
    $('div.button').parent().css('background-color', 'red');
    $('#one').attr('readonly', false);
} else {
    $("#changeone").attr('value', 'Change');
    $('div.button').parent().css('background-color', 'green');
    $('#one').attr('readonly', true);
}
})

$('#one').attr('readonly', true)设置readonly属性为true。你需要阅读它并将其与true

进行比较
if ($('#one').attr('readonly') == true) // ...

应该是

$(输入# changeone) .click(函数(){If ($('#one').attr('readonly')) {

  $("#changeone").attr('value', 'Save');
  $('div.button').parent().css('background-color', 'red');
  $('#one').attr('readonly', false);
} else {
  $("#changeone").attr('value', 'Change');
  $('div.button').parent().css('background-color', 'green');
  $('#one').attr('readonly', true);
}

})相反,