我想在我的CodeIgniter项目中有一个这样的表格。
<?php echo form_open(); ?>
<select>
<?php foreach($status_list as $status): ?>
<option value="<?php echo $status->id; ?>"><?php echo $status->name; ?></option>
<?php endforeach; ?>
</select>
<!-- Show this only if status type is, let's say "E" -->
<input type="text" name="E_happened">
<!-- Show this only if status type is, let's say "S" -->
<input type="text" name="S_happened">
<?php echo form_close(); ?>
我想要做的是,如果用户选择一个状态,根据它的类型,显示一个文本字段来获取输入。
我已经找到了一种类似这样的状态的方法:http://localhost/myapp/index.php/status/type/ {status_id}用户可以在其中传递状态ID,它将会回复&#34;状态的类型。
我希望通过JavaScript方法将其接收回HTML页面并显示这些文本输入字段。我该怎么做?
谢谢。 :)
答案 0 :(得分:0)
由于你有jQuery
标签,所以我建议你这样做:
$('select').change(function(){
var inp = this.value.trim();
$(this).parent().find('input[type="text"][name^="'+inp+'"]').show().siblings(':text').hide();
});
答案 1 :(得分:0)
我已根据您的要求发布了示例流程。希望这对你有所帮助。
<强> PHP:强>
<?php echo form_open(); ?>
<select>
<?php foreach($status_list as $status): ?>
<option value="<?php echo $status->id; ?>"><?php echo $status->name; ?></option>
<?php endforeach; ?>
</select>
<!-- Show this only if status type is, let's say "E" -->
<input type="text" id="E_happened" name="E_happened">
<!-- Show this only if status type is, let's say "S" -->
<input type="text" id="S_happened" name="S_happened">
<?php echo form_close(); ?>
JAVASCRIPT :
$('select').change(function(){
var statusId = $(this).val();
var statusType = $.get("http://localhost/myapp/index.php/status/type/"+statusId);
if(statusType == 'E')
{
$('#E_happened').value("what do you want here");
}
if(statusType == 'S')
{
$('#S_happened').value("what do you want here");
}
});