php - 如何用jquery html连接if条件?
问题描述
我正在使用 jQuery 代码在前端制作 html,但如果条件意外令牌 if 出现错误,我会收到错误消息。请帮我解决这个问题,我猜想将 jQuery 与 HTML 连接起来有问题。下面是我的代码。
innerapptemp.blade.php
for (iS = 0; iS < response.data.stocks.length; ++iS) {
stocks += '<tr class="table-row"><td><select> <option> Select </option> <option value="1"' +if(response.data.stocks[iS].color_tag==1) +' selected> Interested </option> <option value="1"' +if(response.data.stocks[iS].color_tag==2) + ' selected> Not Interested </option> </select></td><td>' + response.data.stocks[iS].scan_name + '</td><td>' + response.data.stocks[iS].name + '</td><td>' + response.data.details[response.data.stocks[iS].name].close_price + '</td><td>' + response.data.details[response.data.stocks[iS].name].open_price + '</td><td>' + response.data.details[response.data.stocks[iS].name].last_price + '</td><td>' + response.data.details[response.data.stocks[iS].name].volume + '</td><td>' + response.data.details[response.data.stocks[iS].name].change_from_open + '</td><td>' + response.data.details[response.data.stocks[iS].name].pivot_point + '</td><td>' + response.data.details[response.data.stocks[iS].name].r3 + '</td><td>' + response.data.details[response.data.stocks[iS].name].changefromr3 + '</td><td><button class="btn btn-primary place-btn" attr-order_type="MARKET" attr-product="NRML" attr-symble="{{ $stock->name }}" attr-id="{{ $stock->name }}" data-toggle="modal" data-target="#place-order">Place Order</button></td><td><button type="button" class="btn btn-primary" data-toggle="modal" data-target="#depthMain">click</button></td></tr>';
}
解决方案
首先,让我们格式化您的代码,以便您可以实际看到它:
for (iS = 0; iS < response.data.stocks.length; ++iS) {
stocks += '<tr class="table-row"><td><select> <option> Select </option> <option value="1"' +
if(response.data.stocks[iS].color_tag==1) +
' selected> Interested </option> <option value="1"' +
if(response.data.stocks[iS].color_tag==2) +
' selected> Not Interested </option> </select></td><td>' +
response.data.stocks[iS].scan_name +
'</td><td>' +
response.data.stocks[iS].name +
'</td><td>' +
response.data.details[response.data.stocks[iS].name].close_price +
'</td><td>' +
response.data.details[response.data.stocks[iS].name].open_price +
'</td><td>' +
response.data.details[response.data.stocks[iS].name].last_price +
'</td><td>' +
response.data.details[response.data.stocks[iS].name].volume +
'</td><td>' +
response.data.details[response.data.stocks[iS].name].change_from_open +
'</td><td>' +
response.data.details[response.data.stocks[iS].name].pivot_point +
'</td><td>' +
response.data.details[response.data.stocks[iS].name].r3 +
'</td><td>' +
response.data.details[response.data.stocks[iS].name].changefromr3 +
'</td><td><button class="btn btn-primary place-btn" attr-order_type="MARKET" attr-product="NRML" attr-symble="{{ $stock->name }}" attr-id="{{ $stock->name }}" data-toggle="modal" data-target="#place-order">Place Order</button></td><td><button type="button" class="btn btn-primary" data-toggle="modal" data-target="#depthMain">click</button></td></tr>';
}
您不能有一个长字符串并连接 (+) if 语句。您需要先解决这些问题并将它们作为变量包含在字符串中,或者将其分解并将它们放在您尝试创建的字符串之间。
例如,这部分字符串:
<option value="1"'
+if(response.data.stocks[iS].color_tag==1)
+' selected> Interested </option> <option value="1"'
+if(response.data.stocks[iS].color_tag==2)
+ ' selected> Not Interested </option>
需要像这样重构:
// this part before you start the big long string
opt1selected = opt2selected ='';
if(response.data.stocks[iS].color_tag==1) opt1selected=' selected="selected"';
if(response.data.stocks[iS].color_tag==2) opt2selected=' selected="selected"';
// then in the string
// ....
'<option value="1"' +opt1selected+' </option>' +
'<option value="2"' +opt2selected+' </option>' +
推荐阅读
- machine-learning - 为什么我在线性回归中使用 train_test_split 方法时出现值错误
- python - 根据键/值标准聚合字典数组中的某些值
- flutter - 我应该在颤振中为我的自定义小部件使用通用前缀吗?
- python - Python:SqlAlchemy 将现有视图映射到 ORM 对象
- java - 使用 Maven 版本错误在 heroku 上部署 JAVA 应用程序
- python - 倒计时结束时开始游戏pygame
- javascript - react:调度和监听自定义事件
- azure - Azure 服务总线性能问题 MassTransit
- javascript - 在 react-native-draggable-flatlist 上逻辑禁用拖动
- reactjs - Next JS:如何获取存储在 cookie 中的令牌,以便在 Next JS 中进行服务器端 API 调用