Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/403.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/jsf/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
h:selectoneradio未在Javascript中选择项_Javascript_Jsf_Radio Button - Fatal编程技术网

h:selectoneradio未在Javascript中选择项

h:selectoneradio未在Javascript中选择项,javascript,jsf,radio-button,Javascript,Jsf,Radio Button,我不知道这件毫无意义的事情是如何让我发疯的,我有以下几点: <table id="form-insertar-linea:publico-form" class="validate[required]"> <tr> <td> <input type="radio" name="form-insertar-linea:publico-form" id="form-insertar-linea:publico-form:0" value="Y"

我不知道这件毫无意义的事情是如何让我发疯的,我有以下几点:

<table id="form-insertar-linea:publico-form" class="validate[required]">
<tr>
   <td>
    <input type="radio" name="form-insertar-linea:publico-form" id="form-insertar-linea:publico-form:0" value="Y" /><label for="form-insertar-linea:publico-form:0"> SI</label>       </td>
 <td>
   <input type="radio" name="form-insertar-linea:publico-form" id="form-insertar-linea:publico-form:1" value="n" /><label for="form-insertar-linea:publico-form:1"> NO</label> </td>
</tr>
 </table>
我试图在显示模式窗体时设置单选按钮值,这是单选按钮的代码:

 <h:selectOneRadio layout="lineDirection" class="validate[required]" id="publico-form" value="#{lineasBean.publico}">
                        <f:selectItem id="y" itemLabel="SI" itemValue="Y"/> 
                        <f:selectItem id="n" itemLabel="NO" itemValue="n"/>
                    </h:selectOneRadio>  
这完全有效,但仅适用于“否”值,我想要的是根据我想要的值“Y”或“N”选择按钮值,我尝试了按id选择,但jQuery无法识别模式:“当我创建选择器时:

 $("#form-insertar-linea:publico-form:0").attr('checked',true);
我也尝试了基于第n个孩子的这一个,但什么都没有发生:

 $("input:radio[name='form-insertar-linea:publico-form']:nth-child(0)").attr('checked',true);
有什么想法吗


问候

选择器
输入:单选[name='form-insertar-linea:publico form']
匹配两个单选按钮。所以(因为它们是互斥的)当设置
checked
时,第二个就赢了,这并不奇怪

要明确地针对第二个目标,您必须特别针对第二个目标。通过
id

$("#form-insertar-linea\\:publico-form\\:0").attr('checked', true);
(注意,我必须在选择器中的
字符前面加一个反斜杠,因为
是CSS选择器中的一个特殊字符。反斜杠[参见第二个要点]。因为我是用字符串文字编写的,为了实际向选择器引擎传递反斜杠,我必须在字符串中对其进行转义,以便JavaScript不会将其用作字符转义,因此需要两个反斜杠。)

或者按价值来做:

// For Yes
$("input:radio[name='form-insertar-linea:publico-form'][value='Y'").attr('checked',true);

// Or for no
$("input:radio[name='form-insertar-linea:publico-form'][value='n'").attr('checked',true);

(我们不需要在其中转义
,因为它已经在引号中;
在值字符串中并不特殊。)

@Enot:LOL!很高兴这有帮助。:-)第一个将失败,原因如下:
是CSS选择器中的一个特殊字符,表示伪选择器。你知道,jQuery使用CSS选择器从DOM中选择元素。@BalusC:谢谢,我没有仔细看它!我现在逃过了他们的追捕,并补充了一个解释。
// For Yes
$("input:radio[name='form-insertar-linea:publico-form'][value='Y'").attr('checked',true);

// Or for no
$("input:radio[name='form-insertar-linea:publico-form'][value='n'").attr('checked',true);