Überprüfen Sie mit jQuery, ob das Personenauswahlfeld leer ist.Jquery

JQuery-Programmierung
Guest
 Überprüfen Sie mit jQuery, ob das Personenauswahlfeld leer ist.

Post by Guest »

Ich habe den folgenden HTML

Code: Select all

    





und ich versuche zu überprüfen, ob das Personenauswahlfeld überhaupt einen Wert hat, aber ich bekomme es nicht zum Laufen (kann das ID-Attribut nicht zum Suchen verwenden). Element), ich bin nicht sicher, welches Element ich überprüfen soll.

Der aktuelle Code, den ich habe, ist:

Code: Select all

$("input[title=Target Date],input[title=Start Date],select[title=Strategic Objective],select[title=Strategic Priority]").change(function(){
checkControls()
});
und hier möchte ich etwas hinzufügen wie
,select[title=Strategic Priority],textarea.ms-input"), aber es funktioniert nicht, Irgendwelche Ideen?

Vielen Dank im Voraus.

Bearbeiten: Der Code für die Validierung lautet:

Code: Select all

    //bind a change event to all controls to validate
$("input[title=Target Date],input[title=Start Date],select[title=Strategic Objective],textarea[id$=_UserField_downlevelTextBox],select[title=Strategic

Priority]").change(function(){
checkControls()
});

//the change event function - check the status of each control
function checkControls(){

//set a variable to count the number of valid controls
var controlsPassed = 0;

//set up a selector to pick .each() of the target controls
$("input[title=Target Date],input[title=Start Date],select[title=Strategic Objective],textarea[id$=_UserField_downlevelTextBox],select[title=Strategic

Priority]").each(function(){

//if the control value is not zero AND is not zero-length
var val = $(this).val();
if($(this).is(':hidden') || (val != 0 && val.length != 0)) {

//add one to the counter
controlsPassed += 1;

}
});

//call the PreSaveItem function and pass the true/false statement of 5 valid controls
return (controlsPassed == 5);

}

function PreSaveItem() {
return checkControls()
}
edit2: Ich vermute, dass es nicht funktioniert, weil die anderen Steuerelemente ein Wertattribut haben. Wenn ich etwas in die Datumsfelder einfüge, erhalten sie beispielsweise das Attribut value="18.08.2010". Aber mit dem Textbereich sieht der HTML-Code hier wie (vereinfachte) Werte aus. Wie kann ich also überprüfen, ob dieser leer ist oder nicht?

edit3:

Ich habe mich verändert

Code: Select all

return (controlsPassed == 5);
bis

Code: Select all

return (controlsPassed == 4) && ( ($("textarea[title='People Picker'][value!='']").length==1) || $("textarea[title='People Picker'][value!='']").is(":hidden") );
Aber wenn die Personenauswahl ausgeblendet ist (.hide()), möchte sie sie trotzdem validieren, also dachte ich, ich könnte so etwas tun:

Code: Select all

if ($("textarea[title='People Picker'][value!='']").is(":hidden")) {
return (controlsPassed == 4)
}
else {
return (controlsPassed == 4) && ( ($("textarea[title='People Picker'][value!='']").length==1);
aber nein, irgendwelche Ideen?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post