提取 Javascript / Jquery 中的字符串部分

Extract string part in Javascript / Jquery

我正在使用 Cocoon gem 为工作时间添加动态嵌套表单。

Cocoon returns 一个 open_time 和 close_time 输入。

id = merchant_working_hours_attributes_ID_open_time
id = merchant_working_hours_attributes_ID_close_time

在 css 处,close_time 输入定义为 display:none,如果 open_time 输入标记为非零,我的想法只是显示。

但是为此,我需要从 open_time 输入中提取 ID,并根据该 ID 将 css 样式添加到 close_time 输入。

如何使用 javascript / Jquery 实现?还有其他形式可以实现吗?

你的问题说你有一个字符串,你想提取相应元素的 ID 来执行样式。

使用split()

var string = merchant_working_hours_attributes_ID_open_time;

var parts = string.split("_"); //You will have the ID at 4th parts[4]

根据提取的ID,可以使用show()hide()

例子

if($('#opentimeID').val() != '')
{
  $('#opentimeID').show();
}

使用substring()

string.substring(start,end)

这个应该比较简单。我的假设是,默认情况下 "close time" 字段不显示。但是,当您开始将值放入 "open time" 字段时,"close time" 字段就会出现。

如果是这种情况,这应该适合您。

JavaScript

const openTime = document.getElementById('merchant_working_hours_attributes_ID_open_time')
const closeTime = document.getElementById('merchant_working_hours_attributes_ID_close_time')
if (openTime.value.length > 0) {
  closeTime.style.display = 'block'
}