我有一个表单字段,其标签为“广告系列来源”。
<label id="tfa_249-L" for="tfa_249" class="label preField ">Campaign Source</label><br>
<divclass="inputWrapper">
<input type="text" id="tfa_49" name="tfa_249" value="" placeholder="" class="">
</div>
基于该标签(“广告系列来源”),如何使用jQuery为此特定表单字段提供默认值?
虽然根据它的ID更容易定位字段,但我不会提前知道ID,而我知道标签并且可以自己设置。
提前致谢。
$('#tfa_249').val('<?php echo $_GET['utm_source']; ?>');
答案 0 :(得分:2)
假设没有其他标签包含“广告系列来源”,请找到如下标签:
var lbl = $("label:contains('Campaign Source'));
然后获取它标记的输入的ID:
var inpid = lbl.attr('for');
并设置输入值:
$('#' + inpid).val("<?php echo htmlspecialchars($_GET['utm_source']); ?>");
答案 1 :(得分:1)
混合逗号......
你有
$('#tfa_249').val('<?php echo $_GET['utm_source']; ?>');
应该是
$('#tfa_249').val("<?php echo $_GET['utm_source']; ?>");
请记住,php代码必须在.php文件中执行。
答案 2 :(得分:0)
您可以使用:contains
-
if( $("label:contains('Campaign Source')") ) {
var forInput = $("label:contains('Campaign Source')").attr('for')
$("label:contains('Campaign Source')").next('.inputWrapper').find('input[name="'+ forInput +'"]').val("<?php echo htmlspecialchars($_GET['utm_source']); ?>");
}
答案 3 :(得分:0)
// Start by finding the label (based on text value)
$('label:contains("Campaign Source")')
// grab the div next door
.next('.inputWrapper')
// then find the `<input>` within
.find('input')
// now assign its value
.val('<?= $_GET['utm_source']; ?>');